【正文】
,ofdm_modulation)%grid on %ylabel(39?! ?averages = floor(temp_time/avg_temp_time)。)%grid on%axis([0 40 max(average_fft_log)]) %ylabel(39。 %linear_SNR = 10^(SNR/10)。b*39。go39。FFT Bin39。)?!x_decoded_phase(phase_negative) = rem(Rx_decoded_phase(phase_negative)+360,360)?!olar(Rx_phase_P, Rx_mag_P,39。Phase (degrees)39。OFDM Receive Spectrum, Magnitude39。%% Transform each symbol from time to frequency domain% take the fft of each column% Rx_spectrum = fft(Rx_Data_matrix)。) % % ENDPLOT %% Upconversion to RF % % For this model, the baseband will be inserted directly into the channel % without conversion to RF frequencies. %Tx_data = ofdm_modulation?!?figure (6) %plot((0:(avg_temp_time1))/avg_temp_time, average_fft_log) %hold on %plot(0:1/IFFT_bin_length:1, 35, 39。)% % PLOT OFDM SIGNAL (spectrum)%symbols_per_average = ceil(symbols_per_carrier/5)。, 1, IFFT_bin_length*(symbols_per_carrier+1))。Time39?!?for f = 1:carrier_count % temp_bins(1:IFFT_bin_length)=0+0j。r39。r39。r39。r39。start39。IFFT Bin39。go39。b*39。 for i = 2:(symbols_per_carrier + 1) carrier_matrix(i,:) = rem(carrier_matrix(i,:)+carrier_matrix(i1,:),2^bits_per_symbol)。modulo N39?!? SNR = input(39。carrier count = 39。 % IFFT bin count for Tx, FFT bin count for Rx carrier_count = 200。close all??偨Y(jié)分析了基于OFDM的調(diào)制解調(diào)過程中FFT的應(yīng)用,利用 MATLAB對基于OFDM的調(diào)制解調(diào)過程進(jìn)行了仿真,并對可能影響結(jié)果的信噪比、調(diào)制映射和信道進(jìn)行了分析,結(jié)果符合預(yù)期?! ? 分離出的 OFDM 子載波波形 圖 分離出的 OFDM 子載波波形 正交性來源于組成一個 OFDM 符號的子載波之間的精確關(guān)系。可見所有的子帶頻譜是完全分開的。在并行數(shù)據(jù)傳輸系統(tǒng)中,現(xiàn)在一般用以下方案來分割并行傳輸?shù)淖訋?[9]。在接收端,首先將接收符號開始的寬度為Tg (循環(huán)前綴)部分丟棄,然后進(jìn)行FFT和解調(diào)。由于每個OFDM符號中都包括所有的非零子載波信號,而且也同時會出現(xiàn)該OFDM 符號的時延信號。因此,N點的基4FFT運算中只需要執(zhí)行 次復(fù)數(shù)乘法或相位選???2log8/3?N轉(zhuǎn),以及 次復(fù)數(shù)加法。N點DFT和IDFT 運算需要實施N*N次的復(fù)數(shù)乘法 (我們不比較復(fù)數(shù)加法的運算量)。??tpitqi (21) ???nmCnTmtqs ???,00?我們在OFDM系統(tǒng),為了做到子載波之間的正交性,往往選擇可 和 為正余弦信號: ??tpitqi 和 ?! FDM不存在這個缺點,它允許各載波間頻率互相混疊,采用了基于載波頻率正交的FFT調(diào)制,由于各個載波的中心頻點處沒有其他載波的頻譜分量,所以能夠?qū)崿F(xiàn)各個載波的正交。糾錯碼的應(yīng)用可以幫助其恢復(fù)一些易錯載波上的信息。發(fā)送一個己知數(shù)據(jù)的碼字,在滿足通信極限的情況下測量出每條信道的信噪比,根據(jù)這個信噪比來確定最適合的調(diào)制方式。信道好的時候,發(fā)射功率不變,可以增強調(diào)制方式(如64QAM) ,或者在低調(diào)制(如QPSK) 時降低發(fā)射功率。多徑信道的頻率選擇性衰落會導(dǎo)致接收信號功率大幅下降,達(dá)到30dB之多,信噪比也大幅下降。時間交錯要求盡可能短,否則就會增加時延。比如終端以每小時60km的速度移動,刷新速率就是大約 330次/ 秒。但是載波分組會使信號容易衰落,于是我們用載波跳頻來解決這個問題?!?其實,OFDM 并不是如今發(fā)展起來的新技術(shù),OFDM 技術(shù)的應(yīng)用已有近 40 年的歷史,主要用于軍用的無線高頻通信系統(tǒng)?!≌撐姆治隽?OFDM 技術(shù)的基本原理、OFDM 的保護(hù)間隔、循環(huán)前綴、OFDM 調(diào)制解調(diào)的關(guān)鍵技術(shù)。同時現(xiàn)代數(shù)字信號處理技術(shù)和超大規(guī)模專用集成電路(VLSI)的發(fā)展也使得快速傅立葉變換的實現(xiàn)變的更加容易,使該技術(shù)的實現(xiàn)費用更趨實際,為以后 OFDM 廣泛應(yīng)用于通信領(lǐng)域開辟了道路。由于這種技術(shù)具有在雜波干擾下傳送信號的能力,因此常常會被利用在容易外界干擾或者抵抗外界干擾能力較差的傳輸介質(zhì)中 [1]?!? 分組信道 顯然,最簡單的方法是將信道分組分配給每個用戶,這樣可以使由于失真、各信道能量的不均衡和頻偏所造成的用戶間的干擾減到最小。 多徑信道中,速率為1Gbit/s的信號的頻響特性每15cm就會發(fā)生很大的變化,因此信號的頻率刷新速率要比15cm的移動速率快很多,一般情況下終端每移動5cm刷新一次就足夠了。由于這種轉(zhuǎn)換非常快,所以衰落時間很短暫,采用時間交錯和前向糾錯能夠補償這種衰落。選擇滿足一定誤碼率的最佳調(diào)制方式可以獲得最大頻譜效率。OFDM 技術(shù)將這個矛盾迎刃而解,通過采用功率控制和自適應(yīng)調(diào)制協(xié)調(diào)工作的技術(shù)。多用戶OFDM系統(tǒng)的導(dǎo)頻信道或參考碼字可以用來測試信道的好壞。在單載波系統(tǒng)中,單個衰落或者干擾可能導(dǎo)致整條鏈路不可用,但在多載波系統(tǒng)中,只會有一小部分載波受影響。在這樣的接收機(jī)下,保護(hù)頻帶分隔不同載波頻率,這樣就使頻譜的利用率低。必須如下式這樣正確的選擇??tpi ??tqi和 ,才能滿足正交調(diào)制的條件。??nd?sl在OFDM系統(tǒng)的實際應(yīng)用中,可以采用更加方便更加快速的快速傅立葉變換(FFT/IFFT)。在基4算法中,F(xiàn)FT變換可以被分為多個 4點的FFT 變換,這樣就只需要在兩個級別之間執(zhí)行完整的乘法操作。 kh kxkn ky 1,210..,??NmNxxN 點數(shù)據(jù)塊 0,0,…0 1,210..,??NmNxx保護(hù)間隔 共 M 個 0 N+M 個數(shù)據(jù)塊 保護(hù)間隔 按照這樣的方法合適的選取保護(hù)間隔的長度可以消除碼間干擾,然而在這種情況下,由于多徑傳播的影響,則會產(chǎn)生信道間干擾ICI,即子載波間的正交性會遭到破壞,不同的子載波之間產(chǎn)生干擾。實際上,在現(xiàn)實實際的系統(tǒng)中,OFDM符號再送入信道之前,首先要加入循環(huán)前綴,然后送入信道中進(jìn)行傳送。只需一個簡單的算法就能夠使每個子信道上的均方誤差得到最小化,若采用差分編碼甚至可以不用均衡。 圖 子帶完全分開的并行體制頻譜示意圖 圖中 表示第 n 個載波的頻率點。如果振幅被截斷或修改,然后一個快速傅立葉變換的信號將不再導(dǎo)致原來的頻率特性和調(diào)制可能會丟失?!? 仿真分析和總結(jié)論文首先研究了OFDM 理論,、分析了在加入循環(huán)前綴后OFDM技術(shù)解決碼間干擾問題的原理。 附錄 clear all。%if defaults == 1 IFFT_bin_length = 1024。 carrier_count = input(39。)。% % Convert to 39。carrier_matrix]?! ? % PLOT BASIC FREQUENCY DOMAIN REPRESENTATION% %figure (1)%stem(0:IFFT_bin_length1, abs(IFFT_modulation(2,1:IFFT_bin_length)),39。)%figure (2) %plot(0:IFFT_bin_length1, (180/pi)*angle(IFFT_modulation(2,1:IFFT_bin_length)), 39。) %xlabel(39?!? % PLOT OFDM SIGNAL FOR ONE SYMBOL PERIOD % first plot is direct IFFT of first OFDM symbol (index 2) % index 1 is the 39。) % %colors = [39。 39。 39。 39。]。) %xlabel(39。 function works (reshape takes the columns of the target matrix and % appends them sequentially)% ofdm_modulation = reshape(windowed_time_wave_matrix39。OFDM Time Signal39?!?end %average_fft_log = 20*log10(average_fft)。OFDM Signal Spectrum39。% %%RECEIVE %% Convert the serial input data stream to parallel (according to symbol length % and number of symbols) % each column is a symbol period % the length of each symbol (samples per symbol) is the length of the % IFFT that was used to generate it% Rx_Data_matrix = reshape(Rx_Data, IFFT_bin_length, symbols_per_carrier + 1)。) %title(39。) %axis ([0 IFFT_bin_length 200 +200]) %grid on %ylabel(39?! x_mag_P = abs(Rx_carriers)?!hase_negative = find(Rx_decoded_phase 0)?!? % END PLOT % % Find the phase (angle) of each FFT bin (each carrier)% convert from radians to degrees % normalize phase to be between 0 and 359 degrees% Rx_phase = angle(Rx_carriers)*(180/pi)。)%title(39。) %hold on %stem(carriers1, (180/pi)*angle(Rx_spectrum(carriers,2)),39。) %grid on %axis ([0 IFFT_bin_length ])%ylabel(39?!oise_sigma = Tx_signal_power/linear_SNR。Magnitude (dB)39?!?average_fft(1:avg_temp_time) = 0。Amplitude (volts)39。) % % END OF PLOTTING % % Apply a Window Function to each time waveform% NOTE THAT WINDOWING IS CURRENTLY COMMENTED OUT, . NO WINDOWING% each time waveform (row of time_wave_matrix) represents one symbol % period for all carriers % the IFFT result has discontinuities at each end % when the time waveforms are serialized (concatenated), the discontinuites% will introduce unwanted frequency ponents % the window