文档详情

OFDM调制解调系统的设计与仿真 实现源程序.doc

发布:2018-01-18约1.37万字共20页下载文档
文本预览下载声明
clear?all;? close?all;? IFFT_bin_length?=?1024;???%?FFT的点数? carrier_count?=?200;??????%?载波的数量?? bits_per_symbol?=?2;??????%?每个符号代表的比特数? symbols_per_carrier?=?50;??%?每个载波使用的符号数? SNR?=?10;??????????????%?信道中的信噪比(dB)???????????????????????????? baseband_out_length=carrier_count*symbols_per_carrier*bits_per_symbol;%总比特数? carriers?=?(1:carrier_count)?+?(floor(IFFT_bin_length/4)?-?floor(carrier_count/2));? conjugate_carriers?=?IFFT_bin_length?-?carriers?+?2;? %发送端 %产生随机二进制数据:? baseband_out?=?round(rand(1,baseband_out_length));? convert_matrix=reshape(baseband_out,bits_per_symbol,length(baseband_out)/bits_per_symbol);? for?k?=?1:(length(baseband_out)/bits_per_symbol) modulo_baseband(k)?=?0;???? for?i?=?1:bits_per_symbol?modulo_baseband(k)=modulo_baseband(k)+convert_matrix(i,k)*2^(bits_per_symbol-i);? end? end? %?串并转换? carrier_matrix?=?reshape(modulo_baseband,?carrier_count,?symbols_per_carrier);?%?对每一个载波的符号进行差分编码 carrier_matrix?=?[zeros(1,carrier_count);carrier_matrix];? for?i?=?2:(symbols_per_carrier?+?1)? ?carrier_matrix(i,:)=rem(carrier_matrix(i,:)+carrier_matrix(i-1,:),2^bits_per_symbol);? end? %?把差分符号代码转换成相位? carrier_matrix?=?carrier_matrix?*?((2*pi)/(2^bits_per_symbol));?%?把相位转换成复数? [X,Y]?=?pol2cart(carrier_matrix,?ones(size(carrier_matrix,1),size(carrier_matrix,2)));? complex_carrier_matrix?=?complex(X,Y);?%?分配载波到指定的IFFT位置? IFFT_modulation?=?zeros(symbols_per_carrier?+?1,?IFFT_bin_length);? IFFT_modulation(:,carriers)?=?complex_carrier_matrix;? IFFT_modulation(:,conjugate_carriers)?=?conj(complex_carrier_matrix);?%?画出频域中的OFDM信号代表? figure?(1)? stem(0:IFFT_bin_length-1,?abs(IFFT_modulation(2,1:IFFT_bin_length)),b*-)? grid?on? axis?([0?IFFT_bin_length?-0.5?1.5]) ylabel(Magnitude)? xlabel(IFFT?Bin)? title(OFDM?Carrier?Frequency?Magnitude) ?%?? figure?(2)? plot(0:IFFT_bin_length-1,?(180/pi)*angle(IFFT_modulation(2,1:IFFT_bin_length)),?go)? hold?on? stem(carriers-1,?(180/pi)*angle(IFFT_modulation(2,carriers)),b*-)? stem(conjugate_carriers-1,?(180/pi)*angle(IFFT_modulation
显示全部
相似文档