求大神做下matlab的程序设计假设用图示所示的两个正交信号经由一个AWGN信道传输二进制信息,在持续期Tb的每个比特区间接收到的信号以10/Tb速率采样,即每个比特区间内10个样本,幅度为A.噪声
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/08 02:48:31
求大神做下matlab的程序设计假设用图示所示的两个正交信号经由一个AWGN信道传输二进制信息,在持续期Tb的每个比特区间接收到的信号以10/Tb速率采样,即每个比特区间内10个样本,幅度为A.噪声
求大神做下matlab的程序设计
假设用图示所示的两个正交信号经由一个AWGN信道传输二进制信息,在持续期Tb的每个比特区间接收到的信号以10/Tb速率采样,即每个比特区间内10个样本,幅度为A.噪声是均值为零,方差为e2 的高斯过程.写MATLAB程序,在方差为0,0.1,1.0和2.0时,完成接收信号和两种发射信号的每一种的离散时间相关,画出在时刻k=1,2,…,10相关器的输出
求大神做下matlab的程序设计假设用图示所示的两个正交信号经由一个AWGN信道传输二进制信息,在持续期Tb的每个比特区间接收到的信号以10/Tb速率采样,即每个比特区间内10个样本,幅度为A.噪声
clc
clear
close all
Tb = 1;
Ns = 10;
fs = Ns/Tb; % 采样频率
A = 2;
t0 = (0:1/fs:Tb-1/fs);
%% 正交信号
s0 = A*ones(1,10); % 正交信号s0
s1 = [A*ones(1,5) -1*A*ones(1,5)]; % 正交信号s1
% figure
% subplot(211);
% plot(t0,s0)
% subplot(212);
% plot(t0,s1)
%% 编码
N = 50; % 采样点数
code = [1,-1,1,1,-1]; % 5个code
for kc = 1:5
if code(kc)==1
x(Ns*(kc-1)+1:kc*Ns) = s0;
else
x(Ns*(kc-1)+1:kc*Ns) = s1;
end
end
%% 加噪声
% t = 0:1/fs:1/fs*N-1/fs;
Nt = 1:N;
index2 = 10:10:50;
index2 = index2+2;
Nt2 = 1:5;
deta = [0,0.1,1.0,2.0];
for kd=1:4
noise = sqrt(deta(kd))*randn(1,N); % 噪声
y = x+noise; % 输出信号
% y=x;
%% 相关
for ks = 1:5
z0(ks) = y(Ns*(ks-1)+1:ks*Ns)*s0'/10;
z1(ks) = y(Ns*(ks-1)+1:ks*Ns)*s1'/10;
end
% z0 = xcorr(y,s0);
% z1 = xcorr(y,s1);
str0 = ['噪声方差:' num2str(kd),'与s0相关结果'];
str1 = ['噪声方差:' num2str(kd),'与s1相关结果'];
figure
subplot(211);
stem(Nt2,z0)
title(str0)
subplot(212);
stem(Nt2,z1)
title(str1)
end
我来试试看,应该可以了吧
重新修改了下