Reply by Eric Jacobsen December 11, 20092009-12-11
On 12/11/2009 6:29 AM, commengr wrote:
>> On Dec 9, 1:26=A0pm, Jerry Avins<j...@ieee.org> wrote: >>> Zero padding is always necessary with fast convolution. Without it, > you >>> get circular convolution. >> actually that's true for one method of fast convolution (overlap- >> add). the other method, called "overlap-save", does not zero pad the >> data (oh, i guess both methods zero-pad the impulse response), but >> they you have to recognize that L-1 samples coming out are bad. you >> toss them and "save" the remaining N-(L-1) samples. >> >> i tread lightly on commengr, given the country where he lives. >> >> r b-j >> > > To be honest I realized 5 minutes after posting this question (when I > re-read it) that I had written some really poor and stupid statements but > there is no way to edit it.
You can always make a second post clarifying or correcting a previous one. I do this a fair amount as it seems pretty common for me to have some sort of realization right after hitting "send". In most newsreaders (I think) it's easy to see posts by the same author that are adjacent in time, so it's not hard to realize that the second post was likely an update. Not clarifying, on the other hand, can lead to the obvious issues.
> And ... Thanks for not treading upon me Robert. I will be the first to > admit that the educational system can't be compared to a developed > country.
There's a balance to be had between keeping the bar high enough to discourage people who just want their hands held through a problem (or their homework done or something) and giving people enough slack for language or other hurdles like yours. Clearly not everybody here draws that line in the same place, and I guess that's to be expected.
> But politeness should be shown or perhaps we think of it too much? I don't > know.
The internet is not always a pretty place, just because of the differences in the people here. It seems too much to expect people to change on either side, so we get what we get. -- Eric Jacobsen Minister of Algorithms Abineau Communications http://www.abineau.com
Reply by Vladimir Vassilevsky December 11, 20092009-12-11

commengr wrote:


> To be honest I realized 5 minutes after posting this question (when I > re-read it) that I had written some really poor and stupid statements but > there is no way to edit it.
Excuses, excuses.
> And ... Thanks for not treading upon me Robert. I will be the first to > admit that the educational system can't be compared to a developed > country.
So the entire country is responsible for you being stupid? LOL.
> But politeness should be shown or perhaps we think of it too much? I don't > know.
Sure. World is obliged to be nice to you. :))) VLV
Reply by commengr December 11, 20092009-12-11
>On Dec 9, 1:26=A0pm, Jerry Avins <j...@ieee.org> wrote: >> >> Zero padding is always necessary with fast convolution. Without it,
you
>> get circular convolution. > >actually that's true for one method of fast convolution (overlap- >add). the other method, called "overlap-save", does not zero pad the >data (oh, i guess both methods zero-pad the impulse response), but >they you have to recognize that L-1 samples coming out are bad. you >toss them and "save" the remaining N-(L-1) samples. > >i tread lightly on commengr, given the country where he lives. > >r b-j >
To be honest I realized 5 minutes after posting this question (when I re-read it) that I had written some really poor and stupid statements but there is no way to edit it. And ... Thanks for not treading upon me Robert. I will be the first to admit that the educational system can't be compared to a developed country. But politeness should be shown or perhaps we think of it too much? I don't know.
Reply by robert bristow-johnson December 11, 20092009-12-11
On Dec 9, 11:25&#4294967295;am, Rune Allnor <all...@tele.ntnu.no> wrote:
> > 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!
i need to know if i'm delusional, Rune. what is "messing around with the cyclic properties of the DFT"? r b-j
Reply by robert bristow-johnson December 11, 20092009-12-11
On Dec 9, 1:26&#4294967295;pm, Jerry Avins <j...@ieee.org> wrote:
> > Zero padding is always necessary with fast convolution. Without it, you > get circular convolution.
actually that's true for one method of fast convolution (overlap- add). the other method, called "overlap-save", does not zero pad the data (oh, i guess both methods zero-pad the impulse response), but they you have to recognize that L-1 samples coming out are bad. you toss them and "save" the remaining N-(L-1) samples. i tread lightly on commengr, given the country where he lives. r b-j
Reply by John December 10, 20092009-12-10
On Dec 9, 11:02&#4294967295;am, "commengr" <communications_engin...@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
Reply by Jerry Avins December 9, 20092009-12-09
commengr wrote:
>> On 9 Des, 17:02, "commengr" <communications_engin...@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. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Reply by steveu December 9, 20092009-12-09
>>On 9 Des, 17:02, "commengr" <communications_engin...@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
Reply by Greg Berchin December 9, 20092009-12-09
On Wed, 09 Dec 2009 10:58:48 -0600, "commengr"
<communications_engineer@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
Reply by Eric Jacobsen December 9, 20092009-12-09
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