📄 multi_channel.m
字号:
function [channel_Bpsk_output,N0]=channel_Bpsk(input,h,snr)
len=length(input);
lenh=length(h);
H10(20*(lenh-1)+1)=0;
%多径间隔为整数码元
for i=1:lenh
H10(20*(i-1)+1)=h(i);
end
%多径间隔为非整数码元
%H10(1)=h(1);
%H10(27)=h(2);
%H10(37)=h(3);
%加多径
mulpath_signal=conv(input,H10);
%加噪声
noise=randn(1,length(mulpath_signal));
F1=[0 0.2539 0.2578 0.4531 0.4570 1.0000];
A=[0 0 1,1,0,0];
bpf=firls(150,F1,A);
noise=conv(noise,bpf);
noise=noise(75+1:75+length(mulpath_signal));
En=sum(noise.^2);
Es=sum(mulpath_signal.^2);
coef_noise=sqrt(3*Es/En/(10^(snr/10))/4); % 4psk
coef_noise=sqrt(3*Es/En/(10^(snr/10))/8);
noise=coef_noise*noise;
channel_Bpsk_output=mulpath_signal+noise;
N0=sum(noise.^2)/(length(mulpath_signal)*3/20);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -