matlab2fsk的误码率曲线代码
时间: 2023-07-02 22:23:02 浏览: 116
误码率曲线matlab代码-EP4IDD:该项目包括Matlab函数,用于通过迭代检测和解码来模拟MIMO和均衡系统
4星 · 用户满意度95%
下面是matlab中2FSK的误码率曲线代码示例:
```matlab
% 设置调制参数
M = 2; % 调制级数
freq_sep = 200; % 两个频率之间的差异(Hz)
nsamp = 100; % 每个符号的采样数
Fs = 1000; % 采样频率(Hz)
% 生成原始数据
data = randi([0 M-1],1,1000); % 生成1000个0和1的随机数
% 2FSK调制
modSignal = fskmod(data,M,freq_sep,nsamp,Fs);
% 添加高斯白噪声
EbNo = 0:10; % 信噪比范围
ber = zeros(size(EbNo)); % 初始化误码率
for i = 1:length(EbNo)
snr = EbNo(i) + 10*log10(log2(M)*nsamp) - 10*log10(freq_sep/Fs);
rxSignal = awgn(modSignal,snr,'measured');
% 2FSK解调
demodSignal = fskdemod(rxSignal,M,freq_sep,nsamp,Fs);
% 计算误码率
[~,ber(i)] = biterr(data,demodSignal);
end
% 误码率曲线绘制
semilogy(EbNo,ber,'-o');
grid on;
xlabel('Eb/No (dB)');
ylabel('BER');
title('2FSK误码率曲线');
```
上述代码中,我们先设置了2FSK的调制参数,然后随机生成了1000个0和1的数字信号。接着对数字信号进行2FSK调制,再添加高斯白噪声,并对接收到的信号进行2FSK解调。最后计算误码率并绘制误码率曲线。
阅读全文