产生BPSK信号的完整matlab代码
时间: 2023-07-26 14:36:58 浏览: 884
bpsk 代码 matlab编写
以下是产生BPSK信号的完整MATLAB代码:
```matlab
% 设置参数
N = 1000; % 信号长度
fc = 10; % 载波频率
fs = 100; % 采样频率
T = 1/fs; % 采样周期
SNR = 10; % 信噪比
% 生成BPSK信号
x = sign(randn(1, N)); % 产生随机二进制序列
s = x.*cos(2*pi*fc*(0:N-1)*T); % BPSK信号
% 添加高斯白噪声
noise = randn(1, N); % 产生高斯白噪声
noise_power = 10^(-SNR/10)*sum(s.^2)/N; % 计算噪声功率
noise = sqrt(noise_power)*noise; % 缩放噪声的功率
r = s + noise; % 添加噪声
% 绘制原始信号和接收到的信号
t = (0:N-1)*T;
figure;
plot(t, s);
hold on;
plot(t, r);
xlabel('时间(秒)');
ylabel('幅度');
legend('原始信号', '接收到的信号');
```
该代码生成长度为N的随机二进制序列,然后将其转换为BPSK信号。接着添加高斯白噪声,并绘制原始信号和接收到的信号。您可以根据需要修改代码中的参数。
阅读全文