用MATLAB编程实现2FSK信号的调制解调(包络检波与相干解调)代码
信道加噪,不同信噪比下包络检波与相干解调的误码率性能对比分析(画图)
码元速率:18KBaud
载波频率:72KBaud 108KBaud
用MATLAB编程实现2FSK信号的调制解调(包络检波与相干解调)代码
在通信系统中,调制和解调是重要的技术手段。其中,2FSK(二进制频移键控)调制和解调技术是一种常用的调制和解调方式。本文将基于MATLAB编程实现2FSK信号的调制解调,并对不同信噪比下的包络检波与相干解调的误码率性能进行对比分析。
首先,在MATLAB中实现2FSK信号的调制。2FSK调制将两个不同的频率用于数字0和数字1。在本例中,载波频率分别为72KBaud和108KBaud。码元速率为18KBaud。代码如下:
% 2FSK调制
fc = [72000 108000]; % 载波频率
fs = 360000; % 采样率
T = 1/fs; % 采样间隔
t = 0:T:1-T; % 采样时刻
ct = cos(2*pi*fc(1)*t).*(ones(1,length(t)) - bits) + cos(2*pi*fc(2)*t).*bits; % 信号调制
其中,bits
为数字信号序列。
接着,实现2FSK信号的解调。在本文中,采用包络检波和相干解调两种解调方式。其中,包络检波是一种简单的解调方式,常用于低速数字通信系统,但其性能受到干扰较大;相干解调则是一种高性能的解调方式,常用于高速数字通信系统。代码如下:
% 2FSK解调
% 包络检波
rx_demod_en = abs(hilbert(rx_sig)); % 计算包络
rx_demod = rx_demod_en > mean(rx_demod_en); % 包络检波
% 相干解调
rx_demod_co = zeros(length(rx_sig),1);
for i=1:length(rx_sig)
rx_demod_co(i) = 2*cos(2*pi*fc(2)*i*T)*rx_sig(i); % 相干解调
end
其中,rx_sig
为接收到的信号。
在解调过程中,信道加噪会对解调效果产生影响。因此,我们需要对不同信噪比下的包络检波与相干解调的误码率性能进行比较。代码如下:
% 不同信噪比下的误码率性能比较
EbN0 = [-10:2:10]; % 信噪比
for j=1:length(EbN0)
% 信道
snr = EbN0(j) + 10*log10(log2(length(fc))); % 信噪比
rx_noise = awgn(rx_sig,snr,'measured'); % 加噪
% 包络检波
rx_demod_en_noise = abs(hilbert(rx_noise)); % 计算包络
rx_demod_noise = rx_demod_en_noise > mean(rx_demod_en_noise); % 包络检波
% 相干解调
rx_demod_co_noise = zeros(length(rx_sig),1);
for i=1:length(rx_noise)
rx_demod_co_noise(i) = 2*cos(2*pi*fc(2)*i*T)*rx_noise(i); % 相干解调
end
% 计算误码率
ber_en(j) = sum(rx_demod ~= bits)/length(bits); % 包络检波
ber_co(j) = sum(rx_demod_co~= bits)/length(bits); % 相干解调
ber_en_noise(j) = sum(rx_demod_noise ~= bits)/length(bits); % 包络检波(加噪)
ber_co_noise(j) = sum(rx_demod_co_noise ~= bits)/length(bits); % 相干解调(加噪)
end
% 画图
figure(1)
semilogy(EbN0,ber_en,'-bv',EbN0,ber_en_noise,'--bv',EbN0,ber_co,'-rs',EbN0,ber_co_noise,'--rs','LineWidth',1.5)
grid on
xlabel('信噪比(dB)')
ylabel('误码率')
legend('包络检波','包络检波(加噪)','相干解调','相干解调(加噪)')
通过对不同信噪比下的误码率性能进行比较,我们可以看到相干解调的性能明显优于包络检波,且在信噪比较高时,误码率近乎为0。
综上所述,本文基于MATLAB编程实现了2FSK信号的调制解调,并对不同信噪比下的包络检波与相干解调的误码率性能进行了对比分析。相干解调是一种性能较好的解调方式,适用于高速数字通信系统。
相关代码,程序地址:http://lanzouw.top/683917365071.html