基于matlab 编写用正弦波叠加法模拟瑞利衰落信道的代码
以下是基于MATLAB编写的用正弦波叠加法模拟瑞利衰落信道的代码:
% 设置参数
N = 10000; % 采样点数
fc = 2e9; % 信号载频率
fs = 20e6; % 采样频率
T = 1/fs; % 采样时间间隔
fd = 100; % 多普勒频移
v = 100; % 移动速度
lamda = 3e8/fc; % 波长
theta = 0; % 相位角
% 生成正弦波信号
t = (0:N-1)*T; % 时间序列
s = sin(2*pi*fc*t + theta);
% 生成瑞利衰落信道
h = sqrt(0.5)*(randn(1, N) + 1j*randn(1, N)); % 高斯白噪声
tau = (1:N)*T; % 时延
ht = zeros(1, N); % 时变信道
for i = 1:N
ht(i) = h(i)*exp(1j*2*pi*fd*tau(i)*cos(theta)/lamda);
end
% 信号经过瑞利衰落信道
y = s.*ht;
% 画图
subplot(2,1,1);
plot(t, real(y));
title('实部');
xlabel('时间(s)');
ylabel('幅度');
subplot(2,1,2);
plot(t, imag(y));
title('虚部');
xlabel('时间(s)');
ylabel('幅度');
运行以上代码,即可得到瑞利衰落信道下的正弦波信号。
原文地址: https://www.cveoy.top/t/topic/bp8W 著作权归作者所有。请勿转载和采集!