DSPRelated.com
Forums

Oversampling

Started by richkt9 November 20, 2006
Hi All,

Can anyone provide matlab code fragments to explain to me how to use the
kronecker delta to oversample a signal, s, by a factor of k ?

I'd really appreciate any help anyone can give on this,

Many thanks,

R.



"richkt9" <richardshea@gmail.com> writes:

> Hi All, > > Can anyone provide matlab code fragments to explain to me how to use the > kronecker delta to oversample a signal, s, by a factor of k ? > > I'd really appreciate any help anyone can give on this, > > Many thanks,
y = interp(x,k); -- % Randy Yates % "My Shangri-la has gone away, fading like %% Fuquay-Varina, NC % the Beatles on 'Hey Jude'" %%% 919-577-9882 % %%%% <yates@ieee.org> % 'Shangri-La', *A New World Record*, ELO http://home.earthlink.net/~yatescr
Randy Yates schrieb:

> "richkt9" <richardshea@gmail.com> writes: > > > Hi All, > > > > Can anyone provide matlab code fragments to explain to me how to use the > > kronecker delta to oversample a signal, s, by a factor of k ? > > > > I'd really appreciate any help anyone can give on this, > > > > Many thanks, > > y = interp(x,k);
You forgot the Kronecker delta :).
"Andor" <andor.bariska@gmail.com> writes:

> Randy Yates schrieb: > >> "richkt9" <richardshea@gmail.com> writes: >> >> > Hi All, >> > >> > Can anyone provide matlab code fragments to explain to me how to use the >> > kronecker delta to oversample a signal, s, by a factor of k ? >> > >> > I'd really appreciate any help anyone can give on this, >> > >> > Many thanks, >> >> y = interp(x,k); > > You forgot the Kronecker delta :).
Ahh, yes. How about this, then: d = zeros(n,1); d(1) = 1; y = interp(conv(x,d),k); -- % Randy Yates % "Watching all the days go by... %% Fuquay-Varina, NC % Who are you and who am I?" %%% 919-577-9882 % 'Mission (A World Record)', %%%% <yates@ieee.org> % *A New World Record*, ELO http://home.earthlink.net/~yatescr
>>> >>> y = interp(x,k); >> >> You forgot the Kronecker delta :). > >Ahh, yes. How about this, then: > >d = zeros(n,1); >d(1) = 1; >y = interp(conv(x,d),k); >--
Thanks very much, Is it really just as simple as that ? What is this actually doing then ? The convolution of my signal, x, with the matrix of zero's - this is zero padding right ? but then what is the interp function doing ? Thanks for the help so far, and for any more. R.
"richkt9" <richardshea@gmail.com> writes:

>>>> >>>> y = interp(x,k); >>> >>> You forgot the Kronecker delta :). >> >>Ahh, yes. How about this, then: >> >>d = zeros(n,1); >>d(1) = 1; >>y = interp(conv(x,d),k); >>-- > > > Thanks very much, > > Is it really just as simple as that ? > > What is this actually doing then ? > > The convolution of my signal, x, with the matrix of zero's - this is zero > padding right ?
No.
> but then what is the interp function doing ? > > Thanks for the help so far, and for any more.
I'm sorry, Richard. This was a joke. The conv() and zeros(n,1) are jokes. All you need to do is y = interp(x,k); My intention is not to be rude or put you off, but it is clear that you don't have a clue about what you're doing, and usenet is not a substitute for a textbook. If you really want to know what's going on, you need to take at least two classes at your local college (presuming you have a good calculus background): linear systems, and DSP I or Introduction to DSP or somesuch, or do a similar amount of self-study. I'll answer your question, but I don't think you'll understand it. interp() performs a polyphase interpolation of the input data using a low-pass filter customized to the oversampling ratio k. But if you don't care about the wherefore's and why's, you can simply use the interp() function and obtain the result you seek, i.e., it really is as simple as that (in Matlab). -- % Randy Yates % "She's sweet on Wagner-I think she'd die for Beethoven. %% Fuquay-Varina, NC % She love the way Puccini lays down a tune, and %%% 919-577-9882 % Verdi's always creepin' from her room." %%%% <yates@ieee.org> % "Rockaria", *A New World Record*, ELO http://home.earthlink.net/~yatescr