Prev: Zadoff-Chu correlation with frequency offset
Next: phase accuracy and sampling rate | PLL and FFT
From: Eric Jacobsen on 9 Dec 2009 12:21 On 12/9/2009 9:02 AM, commengr wrote: > Hello, > > I am simulating the performance of an OFDM based communication system, > where I convolve OFDM symbols with the Channel Impulse Response (7-Tap > Rayleigh distributed) > > The problem is that Matlab function conv( ) takes a lot of processing > time. I tried to declare the output variable as a vector of zeros. This did > help, but only slightly. > > Under Monte Carlo's method, it gets really annoying. Another alternate is > the filter( ) command, where I can assume the channel is an FIR filter, > however, this approach makes the use of cyclic prefix redundant (changing > CP does not have any affect on BER) > > Any suggestions? > > > --- > Oh, by the way, since the data is not cyclic, I can't do Fast Convolution > via DFT > > > On an unrelated matter, after modeling the channel as an FIR filter and > checking its frequency response using the freqz( ) function, the phase > apparently shows as 'non-linear', so many books say that phase of an FIR > filter is always linear like Ifeachor's book etc > > Symmetric FIRs guarantee linear phase, in other cases the phase is not necessarily linear. Minimum phase FIRs are generally not linear phase. Anything in between is also possible. You might try a loop with dot products in Matlab. Using array or matrix functions is what it's good at. Otherwise recoding in C or something suitable might be an option. -- Eric Jacobsen Minister of Algorithms Abineau Communications http://www.abineau.com
From: Greg Berchin on 9 Dec 2009 12:32 On Wed, 09 Dec 2009 10:58:48 -0600, "commengr" <communications_engineer(a)yahoo.com> wrote: >Thanks Greg. Any idea on a faster method for convolution? Rune actually covered it. Zeropad sufficiently to ensure linear convolution, and use the FFT:multiply:IFFT. I had thought that the Matlab conv() function already used the FFT, but after digging a little bit it appears that it does not. So the FFT may save you some time. Greg
From: steveu on 9 Dec 2009 12:45 >>On 9 Des, 17:02, "commengr" <communications_engin...(a)yahoo.com> wrote: >>> Hello, >>> >>> I am simulating the performance of an OFDM based communication system, >>> where I convolve OFDM symbols with the Channel Impulse Response (7-Tap >>> Rayleigh distributed) >>> >>> The problem is that Matlab function conv( ) takes a lot of processing >>> time. >> >>> Oh, by the way, since the data is not cyclic, I can't do Fast >Convolution >>> via DFT >> >>IDIOT!! >> >>You, for listening to the delusions of almost all the >>regulars here; Almost all the regulars for messing around >>with the cyclic proerties of the DFT causing this >>kind of confusion among the incopmpetent and mentally >>challenged! >> >>Of course you can use the DFT. Just zero-pad the data >>sufficiently to avoid the wrap-around effects. This is >>so basic that it is covered in *all* textbooks on DSP. >> >>Rune >> > >=========================================================== > >RUNE, THERE ARE BETTER WAYS TO START AN ANSWER! > >I think your answer is offensive! > >If you thought it was a poor question you should have not >answer it! >=========================================================== > >I do not want to increase the number of bits to what I already have due to > >monte carlo. There are better ways to start an education, too. You are trying to do OFDM (something reasonably advanced), yet you clearly don't understand the basics of FIRs or DFTs (entry level stuff). Are you trying to live life backwards? Steve
From: Jerry Avins on 9 Dec 2009 13:26 commengr wrote: >> On 9 Des, 17:02, "commengr" <communications_engin...(a)yahoo.com> wrote: >>> Hello, >>> >>> I am simulating the performance of an OFDM based communication system, >>> where I convolve OFDM symbols with the Channel Impulse Response (7-Tap >>> Rayleigh distributed) >>> >>> The problem is that Matlab function conv( ) takes a lot of processing >>> time. >>> Oh, by the way, since the data is not cyclic, I can't do Fast > Convolution >>> via DFT >> IDIOT!! >> >> You, for listening to the delusions of almost all the >> regulars here; Almost all the regulars for messing around >> with the cyclic proerties of the DFT causing this >> kind of confusion among the incopmpetent and mentally >> challenged! >> >> Of course you can use the DFT. Just zero-pad the data >> sufficiently to avoid the wrap-around effects. This is >> so basic that it is covered in *all* textbooks on DSP. >> >> Rune >> > > =========================================================== > > RUNE, THERE ARE BETTER WAYS TO START AN ANSWER! > > I think your answer is offensive! > > If you thought it was a poor question you should have not > answer it! > =========================================================== > > I do not want to increase the number of bits to what I already have due to > > monte carlo. Zero padding is always necessary with fast convolution. Without it, you get circular convolution. Rune was exactly right. Why in the world are you messing with Monte Carlo randomizing? even a linear congruential RNG should be good enough. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
From: John on 10 Dec 2009 04:11 On Dec 9, 11:02 am, "commengr" <communications_engin...(a)yahoo.com> wrote: > Hello, > > I am simulating the performance of an OFDM based communication system, > where I convolve OFDM symbols with the Channel Impulse Response (7-Tap > Rayleigh distributed) > > The problem is that Matlab function conv( ) takes a lot of processing > time. I tried to declare the output variable as a vector of zeros. This did > help, but only slightly. > > Under Monte Carlo's method, it gets really annoying. Another alternate is > the filter( ) command, where I can assume the channel is an FIR filter, > however, this approach makes the use of cyclic prefix redundant (changing > CP does not have any affect on BER) > > Any suggestions? > > --- > Oh, by the way, since the data is not cyclic, I can't do Fast Convolution > via DFT > Try replacing conv() with fftfilt(), and oh by the way your assertion is false. John
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 Prev: Zadoff-Chu correlation with frequency offset Next: phase accuracy and sampling rate | PLL and FFT |