📄 watterson.m
字号:
function r=watterson(s,fs,fm,delay,A,fd,phai,SNR,inter)
% s:input signal
% M:multipath number A:gain factor fs:sample rate
% fm:frequency spread delay:time delay (ms) fd:frequency shift phai:initial phasy
% rms1=sqrt(mean((abs(fac1)).^2));rms2=sqrt(mean((abs(fac2)).^2));
% fac1 = fac1./rms1;fac2 = fac2./rms2;
% fac = [fac1;fac2];
Ns = length(s);
M = length(A);
s = hilbert(s);
n_delay = ceil(delay*10^-3.*fs);
r = zeros(1,Ns+max(n_delay)); %%.*exp(j*(2*pi*fd(m).*[1:Ns]/fs)+phai(m))%% % reylei(s,fm,fs,Ns)rayleighfactor(s,fm(m),fs,Ns)
for m = 1:M
r = r+[zeros(1,n_delay(m)),reylei(s,fm(m),fs,Ns,inter).*A(m),zeros(1,max(n_delay)-n_delay(m))];
end
r = real(r);% ./sqrt(sum(A.^2))
r = r./sqrt(spower(r));
r = awgn(r,SNR,'measured');
r = r-mean(r);
r = r/sqrt(spower(r)); % the power normalize
% r = r/sqrt(spower(r));
% r=awgn(r,SNR);
% r = real(r);
% power_r = spower(r);
% snr_ln = 10^(SNR/10);
% noise_std = sqrt(power_r/(2*snr_ln));
% r = r+noise_std*randn(1,length(r));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -