<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/266639</link>
    <title>MATLAB Central Newsreader - ofdm question</title>
    <description>Feed for thread: ofdm question</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2012 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Mon, 23 Nov 2009 22:10:21 -0500</pubDate>
      <title>ofdm question</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/266639#696961</link>
      <author>Robert Orzechowski</author>
      <description>Hello,&lt;br&gt;
&lt;br&gt;
I tried to implement very simple OFDM channel. However i met an issue, i cannot solve myself. Could you please help me ?&lt;br&gt;
This is the code:&lt;br&gt;
&lt;br&gt;
data=randint(1,k,n);&lt;br&gt;
modulated = pskmod(data);&lt;br&gt;
OFDMmodulated=ifft(modulated);&lt;br&gt;
receivedmodulated = fft(OFDMmodulated);&lt;br&gt;
out = (receivedmodulated ~= modulated);&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Why do I got every time receivedmodulated different from modulated, if k is greater than 8 ? I think this is something with fft/ifft usage.&lt;br&gt;
&lt;br&gt;
thank you for your help&lt;br&gt;
Robert</description>
    </item>
    <item>
      <pubDate>Wed, 25 Nov 2009 23:10:23 -0500</pubDate>
      <title>Re: ofdm question</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/266639#697590</link>
      <author>Robert Orzechowski</author>
      <description>Hi,&lt;br&gt;
&lt;br&gt;
I &quot;improved ?&quot; my programm a little bit:&lt;br&gt;
function out = smallofdm&lt;br&gt;
&lt;br&gt;
k=8&lt;br&gt;
n=4&lt;br&gt;
data=randint(1,k,n);&lt;br&gt;
&lt;br&gt;
modulated = pskmod(data)&lt;br&gt;
OFDMmodulated=ifft(modulated,2*k);&lt;br&gt;
receivedmodulated1 = fft(OFDMmodulated, 2*k)&lt;br&gt;
receivedmodulated = [receivedmodulated1(1:k)]&lt;br&gt;
if receivedmodulated == modulated&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msgbox('succeed!')&lt;br&gt;
else&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msgbox('not succeed')&lt;br&gt;
end&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
and now it seems it is almost good. But I am still confused.&lt;br&gt;
my questions are now:&lt;br&gt;
1) why I need to do fft 2*k points for the vector of the length k ? is it something with a Nyquist frequency ?&lt;br&gt;
&lt;br&gt;
2) why i got 'not succeed' message, when the vectors seems to be equal... ? I saw while displaying vectors are like:&lt;br&gt;
receivedmodulated =&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;Columns 1 through 7 &lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0 - 1.0000i  -0.0000 - 1.0000i   1.0000 - 0.0000i  -0.0000 + 1.0000i   1.0000             0.0000 + 1.0000i   1.0000 + 0.0000i&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;Column 8 &lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;1.0000 - 0.0000i&lt;br&gt;
&lt;br&gt;
How to make value like -0.000i or other values close to zero just not important ? I can imagine it is something with round-off values by PC, but how to workaround it in my code ?&lt;br&gt;
&lt;br&gt;
thank you for the help&lt;br&gt;
Robert</description>
    </item>
  </channel>
</rss>

