>On May 25, 4:32 am, "cpshah99" <cpsha...@rediffmail.com> wrote: >> >On May 23, 10:54 am, "cpshah99" <cpsha...@rediffmail.com> wrote: >> >> >On May 19, 9:28 am, "cpshah99" <cpsha...@rediffmail.com> wrote: >> >> >> Hello People >> >> >> >> I have been scratching my head on this doppler problem: >> >> >> >> Because of the doppler effect, the received signal will eitherbe>> >> expanded >> >> >> or compressed on time axis. >> >> >> >> Now, the expansion or compression is sampling rate conversion.So,>> I >> >> tried >> >> >> to use 'resample' function of matlab. The actual length of the >> signal >> >> is >> >> >> 30720 and sampling freq is 48000Hz. >> >> >> >> Now, when I use y=resample(x,10010,10000) i can find the peaki.e.>> >> start >> >> >> of my data by correlating the signal with training sequence. >> >> >> >> But when I use y=resample(x,10007,10000) i can't find the peak. >> >> >> >> So is there any better way to >> >> >> 1. model this exapnsion or compression >> >> >> or 2. to find peak when the received is corrupted by severe >> doppler. >> >> >> >> Help in this regard will be highly appreciated. >> >> >> >> Chintan >> >> >> >Just clarify - a doppler shift isn't modeled by a frequency shift.It>> >> >is really a time dilation. For pure sinusoids it then appears as a >> >> >frequency shift. If you signal doesn't have a lot of bandwidth wrt >> the >> >> >center frequency then you can approximate the doppler shift by a >> >> >frequency shift. >> >> >> >Cheers, >> >> >David >> >> >> %%%%% >> >> >> Hi David >> >> >> My center freq is 12KHz and BW is 4 KHz. >> >> >> I understand as u said, the doppler effect is time dilation, butshould>> I >> >> just shift the center freq or sampling freq to approximate thedoppler>> >> shift because if I shift carrier freq then it will just add phaseshift>> but >> >> it will not expand or compress the signal. >> >> >> Also I am reading Multirate Digital Signal Processing by Crochiereand>> >> Rabiner to implement Farrow Interpolator, suggested by Julius. >> >> >> Thanks you again. >> >> >> Chintan. >> >> >What type of system is this? Sonar? What is the speed of propagation >> >in your medium? What is the format of your signal? Is it a LFM or HFM >> >pulse? >> >> >For these types of signals in sonar they use banks of matchedfilters,>> >which are constructed by time dilating the analytic formula for the >> >pulse. For more detail you can see Neilson's "Sonar Signal >> >Processing". >> >> >For Farrow information I found Harris's book quite good. I alsoposted>> >some matlab code on this group to do derive the Farrow spline >> >coefficients - it doesn't do the online resampling. >> >> >Cheers, >> >David >> >> %%%%% >> >> Hi David >> >> This system is for underwater communications, where speed ofacousticwave>> is 1500 m/s. And also I am not using LFM or HFM. My signal format is500>> symbols long PN sequence to find the start of that (not to do anythingwith>> DSSS) and after this PN 2000 data symbols. >> >> Can u please post that code here again, if you don't mind. >> >> Thanks, >> >> Chintan > >It's on my other computer. I'll try to post it on Monday. > >Given you're dealing with probably +- 30 knots doppler (or more) and >the band & bandwidth you should take into account the dilation, >but normally the PN , LFM , HFM signals have fairly broad ambiguity >functions so they still correlate over broad dopplers - you shouldn't >need that many doppler replicas to find a peak. Normally the replicas >are set at the -3dB points in the ambiguity function. > >Cheers, >David >%%%%%% Hi David, Thanks for your replies. Actually I have worked on the real received signals thru underwater sea trial experiment, the relative velocity estimation was in the range of +-0.5 m/s, and in that case using PN I was able to find peak. But now as I have changed my receiver architecture, and we can not go for sea trial as of now, so my advisor asked me to simulate doppler, which is signal expansion or compression. I have been trying to this for last so many days. I have used 'resample' function of matlab, but it changes the amplitude of the signal significantly. And in real time there is no zero padding for interpolation or decimation!!!!!!! Thanking you again. Chintan
signal detection in doppler
Started by ●May 19, 2008
Reply by ●May 25, 20082008-05-25
Reply by ●May 26, 20082008-05-26
On May 25, 2:34 pm, "cpshah99" <cpsha...@rediffmail.com> wrote:> >On May 25, 4:32 am, "cpshah99" <cpsha...@rediffmail.com> wrote: > >> >On May 23, 10:54 am, "cpshah99" <cpsha...@rediffmail.com> wrote: > >> >> >On May 19, 9:28 am, "cpshah99" <cpsha...@rediffmail.com> wrote: > >> >> >> Hello People > > >> >> >> I have been scratching my head on this doppler problem: > > >> >> >> Because of the doppler effect, the received signal will either > be > >> >> expanded > >> >> >> or compressed on time axis. > > >> >> >> Now, the expansion or compression is sampling rate conversion. > So, > >> I > >> >> tried > >> >> >> to use 'resample' function of matlab. The actual length of the > >> signal > >> >> is > >> >> >> 30720 and sampling freq is 48000Hz. > > >> >> >> Now, when I use y=resample(x,10010,10000) i can find the peak > i.e. > >> >> start > >> >> >> of my data by correlating the signal with training sequence. > > >> >> >> But when I use y=resample(x,10007,10000) i can't find the peak. > > >> >> >> So is there any better way to > >> >> >> 1. model this exapnsion or compression > >> >> >> or 2. to find peak when the received is corrupted by severe > >> doppler. > > >> >> >> Help in this regard will be highly appreciated. > > >> >> >> Chintan > > >> >> >Just clarify - a doppler shift isn't modeled by a frequency shift. > It > >> >> >is really a time dilation. For pure sinusoids it then appears as a > >> >> >frequency shift. If you signal doesn't have a lot of bandwidth wrt > >> the > >> >> >center frequency then you can approximate the doppler shift by a > >> >> >frequency shift. > > >> >> >Cheers, > >> >> >David > > >> >> %%%%% > > >> >> Hi David > > >> >> My center freq is 12KHz and BW is 4 KHz. > > >> >> I understand as u said, the doppler effect is time dilation, but > should > >> I > >> >> just shift the center freq or sampling freq to approximate the > doppler > >> >> shift because if I shift carrier freq then it will just add phase > shift > >> but > >> >> it will not expand or compress the signal. > > >> >> Also I am reading Multirate Digital Signal Processing by Crochiere > and > >> >> Rabiner to implement Farrow Interpolator, suggested by Julius. > > >> >> Thanks you again. > > >> >> Chintan. > > >> >What type of system is this? Sonar? What is the speed of propagation > >> >in your medium? What is the format of your signal? Is it a LFM or HFM > >> >pulse? > > >> >For these types of signals in sonar they use banks of matched > filters, > >> >which are constructed by time dilating the analytic formula for the > >> >pulse. For more detail you can see Neilson's "Sonar Signal > >> >Processing". > > >> >For Farrow information I found Harris's book quite good. I also > posted > >> >some matlab code on this group to do derive the Farrow spline > >> >coefficients - it doesn't do the online resampling. > > >> >Cheers, > >> >David > > >> %%%%% > > >> Hi David > > >> This system is for underwater communications, where speed of > acousticwave > >> is 1500 m/s. And also I am not using LFM or HFM. My signal format is > 500 > >> symbols long PN sequence to find the start of that (not to do anything > with > >> DSSS) and after this PN 2000 data symbols. > > >> Can u please post that code here again, if you don't mind. > > >> Thanks, > > >> Chintan > > >It's on my other computer. I'll try to post it on Monday. > > >Given you're dealing with probably +- 30 knots doppler (or more) and > >the band & bandwidth you should take into account the dilation, > >but normally the PN , LFM , HFM signals have fairly broad ambiguity > >functions so they still correlate over broad dopplers - you shouldn't > >need that many doppler replicas to find a peak. Normally the replicas > >are set at the -3dB points in the ambiguity function. > > >Cheers, > >David > > %%%%%% > > Hi David, > > Thanks for your replies. > > Actually I have worked on the real received signals thru underwater sea > trial experiment, the relative velocity estimation was in the range of > +-0.5 m/s, and in that case using PN I was able to find peak. > > But now as I have changed my receiver architecture, and we can not go for > sea trial as of now, so my advisor asked me to simulate doppler, which is > signal expansion or compression. > > I have been trying to this for last so many days. > > I have used 'resample' function of matlab, but it changes the amplitude of > the signal significantly. And in real time there is no zero padding for > interpolation or decimation!!!!!!! > > Thanking you again. > > ChintanHere's code I wrote to calculate the splines. You feed it the filter, you'll need to adjust the Decimation Factor (D) to match your own requirements and the filter. Good luck. Cheers, Dave % b = coefficients of a predesigned filter % In my test case b has 300 taps % Designed using 72 dB attenuation Kaiser window filter bt = b; %bt(1) = bt(2) -(bt(3)-bt(2)); %bt(end) = bt(1); Ntaps=length(b); D=50; Npoly=Ntaps/D; b2= reshape(bt,D,Npoly); %For a good polynomial fit we need to handle the end points in a smooth %fashion I=length(bt); tmp = bt(I)- (bt(I-1)-bt(I)); %b2=[b2;b2(1,2:end),0]; b2=[b2;b2(1,2:end),tmp]; x=(0:D)'/D; %Dividing by D helps eliminate poor conditioning p_ord = 6; %Order of polynomials for fitting p=zeros(Npoly,p_ord+1); for k =1:Npoly k p(k,:) =polyfit(x,b2(:,k),p_ord); %This plots the error in the polynomial evaluation %plot(b2(:,k)-polyval(p(k,:),x)) %pause end %Lets evaluate the resulting filter at some other sample point. x2 = x(1:end-1)+0.5/D; h2=[]; for k =1:Npoly h2=[h2,polyval(p(k,:),x2)]; end plot(20*log10(abs(fft(h2(:),2048))))
Reply by ●May 26, 20082008-05-26
>On May 25, 2:34 pm, "cpshah99" <cpsha...@rediffmail.com> wrote: >> >On May 25, 4:32 am, "cpshah99" <cpsha...@rediffmail.com> wrote: >> >> >On May 23, 10:54 am, "cpshah99" <cpsha...@rediffmail.com> wrote: >> >> >> >On May 19, 9:28 am, "cpshah99" <cpsha...@rediffmail.com> wrote: >> >> >> >> Hello People >> >> >> >> >> I have been scratching my head on this doppler problem: >> >> >> >> >> Because of the doppler effect, the received signal willeither>> be >> >> >> expanded >> >> >> >> or compressed on time axis. >> >> >> >> >> Now, the expansion or compression is sampling rateconversion.>> So, >> >> I >> >> >> tried >> >> >> >> to use 'resample' function of matlab. The actual length ofthe>> >> signal >> >> >> is >> >> >> >> 30720 and sampling freq is 48000Hz. >> >> >> >> >> Now, when I use y=resample(x,10010,10000) i can find the peak >> i.e. >> >> >> start >> >> >> >> of my data by correlating the signal with training sequence. >> >> >> >> >> But when I use y=resample(x,10007,10000) i can't find thepeak.>> >> >> >> >> So is there any better way to >> >> >> >> 1. model this exapnsion or compression >> >> >> >> or 2. to find peak when the received is corrupted by severe >> >> doppler. >> >> >> >> >> Help in this regard will be highly appreciated. >> >> >> >> >> Chintan >> >> >> >> >Just clarify - a doppler shift isn't modeled by a frequencyshift.>> It >> >> >> >is really a time dilation. For pure sinusoids it then appears asa>> >> >> >frequency shift. If you signal doesn't have a lot of bandwidthwrt>> >> the >> >> >> >center frequency then you can approximate the doppler shift bya>> >> >> >frequency shift. >> >> >> >> >Cheers, >> >> >> >David >> >> >> >> %%%%% >> >> >> >> Hi David >> >> >> >> My center freq is 12KHz and BW is 4 KHz. >> >> >> >> I understand as u said, the doppler effect is time dilation, but >> should >> >> I >> >> >> just shift the center freq or sampling freq to approximate the >> doppler >> >> >> shift because if I shift carrier freq then it will just addphase>> shift >> >> but >> >> >> it will not expand or compress the signal. >> >> >> >> Also I am reading Multirate Digital Signal Processing byCrochiere>> and >> >> >> Rabiner to implement Farrow Interpolator, suggested by Julius. >> >> >> >> Thanks you again. >> >> >> >> Chintan. >> >> >> >What type of system is this? Sonar? What is the speed ofpropagation>> >> >in your medium? What is the format of your signal? Is it a LFM orHFM>> >> >pulse? >> >> >> >For these types of signals in sonar they use banks of matched >> filters, >> >> >which are constructed by time dilating the analytic formula forthe>> >> >pulse. For more detail you can see Neilson's "Sonar Signal >> >> >Processing". >> >> >> >For Farrow information I found Harris's book quite good. I also >> posted >> >> >some matlab code on this group to do derive the Farrow spline >> >> >coefficients - it doesn't do the online resampling. >> >> >> >Cheers, >> >> >David >> >> >> %%%%% >> >> >> Hi David >> >> >> This system is for underwater communications, where speed of >> acousticwave >> >> is 1500 m/s. And also I am not using LFM or HFM. My signal formatis>> 500 >> >> symbols long PN sequence to find the start of that (not to doanything>> with >> >> DSSS) and after this PN 2000 data symbols. >> >> >> Can u please post that code here again, if you don't mind. >> >> >> Thanks, >> >> >> Chintan >> >> >It's on my other computer. I'll try to post it on Monday. >> >> >Given you're dealing with probably +- 30 knots doppler (or more) and >> >the band & bandwidth you should take into account the dilation, >> >but normally the PN , LFM , HFM signals have fairly broad ambiguity >> >functions so they still correlate over broad dopplers - you shouldn't >> >need that many doppler replicas to find a peak. Normally the replicas >> >are set at the -3dB points in the ambiguity function. >> >> >Cheers, >> >David >> >> %%%%%% >> >> Hi David, >> >> Thanks for your replies. >> >> Actually I have worked on the real received signals thru underwatersea>> trial experiment, the relative velocity estimation was in the range of >> +-0.5 m/s, and in that case using PN I was able to find peak. >> >> But now as I have changed my receiver architecture, and we can not gofor>> sea trial as of now, so my advisor asked me to simulate doppler, whichis>> signal expansion or compression. >> >> I have been trying to this for last so many days. >> >> I have used 'resample' function of matlab, but it changes the amplitudeof>> the signal significantly. And in real time there is no zero paddingfor>> interpolation or decimation!!!!!!! >> >> Thanking you again. >> >> Chintan > > >Here's code I wrote to calculate the splines. You feed it the filter, >you'll need to adjust the Decimation Factor (D) to match your own >requirements and the filter. > >Good luck. > >Cheers, >Dave > >% b = coefficients of a predesigned filter >% In my test case b has 300 taps >% Designed using 72 dB attenuation Kaiser window filter >bt = b; >%bt(1) = bt(2) -(bt(3)-bt(2)); >%bt(end) = bt(1); > >Ntaps=length(b); >D=50; >Npoly=Ntaps/D; >b2= reshape(bt,D,Npoly); >%For a good polynomial fit we need to handle the end points in a >smooth >%fashion >I=length(bt); >tmp = bt(I)- (bt(I-1)-bt(I)); >%b2=[b2;b2(1,2:end),0]; >b2=[b2;b2(1,2:end),tmp]; >x=(0:D)'/D; %Dividing by D helps eliminate poor conditioning >p_ord = 6; %Order of polynomials for fitting >p=zeros(Npoly,p_ord+1); >for k =1:Npoly > k > p(k,:) =polyfit(x,b2(:,k),p_ord); > %This plots the error in the polynomial evaluation > %plot(b2(:,k)-polyval(p(k,:),x)) > %pause >end > >%Lets evaluate the resulting filter at some other sample point. > >x2 = x(1:end-1)+0.5/D; >h2=[]; >for k =1:Npoly > h2=[h2,polyval(p(k,:),x2)]; >end >plot(20*log10(abs(fft(h2(:),2048)))) >%%%%%% Hi David, Thank you very much. It is really appreciated. Regards, Chintan