使用 Matlab 创建 PAM 函数
信息处理
matlab
2022-02-01 18:16:44
3个回答
解决了!
function [t, pulse] = PAM (array)
syms t
u(t) = heaviside(t);
pulse = array(1)*u(t);
for i = [2:length(array)]
if array(i) > array(i - 1)
pulse += abs(array(i-1)-array(i)).*u(t - (i-1));
else
pulse -= (array(i-1)-array(i)).*u(t-(i-1));
endif
endfor
endfunction
使用下面的 kron 函数更容易、更快捷
function [t, pulse] = pam(array,B,fs)
pulse=kron(array,ones(1,fs/B));
t=(0:length(pulse)-1)/fs;
其中 fs 是采样频率,B 是脉冲带宽。
查看 repelem() 函数。