Transmit filter problem for OFDM

Discussion in 'Wireless & RF Design' started by thavamaran, Apr 8, 2011.

  1. thavamaran

    Thread Starter Active Member

    Feb 21, 2008
    Hi guys, I am having real trouble to design a transmit filter for my OFDM system.

    Here is the scenario. Initially I have upsampled after adding cyclic prefix to achieve 20 MHz bandwidth. Let me explain my parameters first.

    -I have 128 subcarriers of data and zeros
    -Modulated them with 256-IFFT
    -Added cyclic prefix after this.

    My frame timing was assumed such as

    Code ( (Unknown Language)):
    2. Tsymbol=66.67e-6; %15 kHz subcarrier
    3. Ttotal=Tsymbol/128; %Total period 2.6e-7s
    4. Tcp=Ttotal/4;           %cyclic prefix period 65ns
    5. Toverall=Ttotal+Tcp;    %total frame period with cp 3.2e-7s
    6. Fframe=1/Toverall;      %frame frequency 3MHz
    7. q=7;
    8. BW=q/Toverall;
    9. fs=4*BW
    So here, my OFDM symbol duration suppose to be 66.67us, so total symbol time with respect to 128 subcarriers (not taking 256 cause only 128 can be considered data), so the time is 0.26 us, after adding CP, its 0.32 us. Whole frame frequency is 3 MHz.

    Therefore I added a certain ratio to design a transmit filter to make it meet 20 MHz bandwidth, I dont know any other way to do this.

    So I took a ratio of q=7, where q*Fframe is 21 MHz which almost gives my bandwidth.
    Code ( (Unknown Language)):
    2.  TF=1/fs:1/fs:Toverall/2;
    3.  Ttsym=1/fs:1/fs:Tsymbol;
    4.  PS=ones(length(TF),1); %pulse shape
    6.  dummy=conv(PS,cylicprefixdata(:));
    7.  u=[dummy(1:length(cyclicprefixdata)).']; %
    Above is how Im designing the transmit filter. Its really a huge toucher, been going around and around for a week now, I still cant define my way of doing it right or wrong, please please please advice, I tried reading, but no one referring to a proper point of doing it, cause Its not like any single carrier that you know the duration, here IFFT doesnt use any sampling property that I define cause its a built in function, so i could only assume a time duration and fix a filter accordingly. Please please help! Please!