作业帮 > 综合 > 作业

麻烦大家帮我解释一下这个matlab的程序,

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/30 03:05:16
麻烦大家帮我解释一下这个matlab的程序,
x1=hilbert(x);
y = x1(:);
t = (0 :1/Fs :(size(y,1)-1)/Fs)';
t = t(:,ones(1,size(y,2)));
z = y .* cos(2*pi * Fc * t );%解调
[num,den] = butter(5,Fc*2/Fs); %设计低通滤波器
for i = 1 :size(y,2)
z(:,i) = filtfilt(num,den,z(:,i)) * 2;
end
麻烦大家帮我解释一下这个matlab的程序,
这个函数基本上就是做了一个采样加低通滤波,而且错误不少,如y=x1应该是x,采样频率fs没有给,fc也没有,问题不少
再问: 非常不好意思,我这是取了一部分程序,fs和fc都是有的
我就想知道这部分每句话的大概意思是什么,望相助
再答: t = (0 : 1/Fs :(size(y,1)-1)/Fs)';%t是采样间隔,‘是转置,这里看你的输入x了

t = t(:, ones(1, size(y, 2)));建一个FS行,y列数的1系数矩阵
z = y .* cos(2*pi * Fc * t );%用余弦调制

[num,den] = butter(5,Fc*2/Fs);滤波

z(:, i) = filtfilt(num, den, z(:, i)) * 2;零相位滤波

采用逐步调试的方式就能看到每步的计算结果