首页 > 解决方案 > 低通滤波器设计matlab

问题描述

我想创建一个脚本来手动调制和解调信号。我正在使用 DSB-SC 调制,我只是对如何构建用于解调信号的低通滤波器感到困惑。这是我到目前为止所拥有的:

close all;
clear all;
clc;
t = 0:0.000001:0.001;
Vm = [1,2,5];
Vc = 1;
fm = 2000;
fc = 50000;

for i = 1:3
    close all;
    amp  = Vm(i);
    m = Vm(i)*sin(2*pi*fm*t);
    c = Vc*sin(2*pi*fc*t);

    %modulated signal
    phi_DSB = m.*c;

    figure(1)
    plot(t,phi_DSB)
    hold on 
    plot(t, m)
    
    legend('DSB modulated signal','Message signal')
    txt = sprintf('DSB modulated signal with message amplitude %d', amp);
    title(txt)
    xlabel('Time')
    ylabel('Signal amplitude')
    demod = lowpass(phi_DSB,50000);
    pause(5)
end

如您所见,我使用了低通滤波器构造函数,但它要求值介于 0 和 1 之间。还有另一种构造低通滤波器的方法吗?如何使频率介于 0 和 1 之间?

标签: matlablowpass-filtermodulation

解决方案


当您调用低通时,您可以指定归一化的截止频率,它介于 0 和 1 之间,或者您可以指定以 Hz 为单位的截止频率和以 Hz 为单位的采样率,这就是您想要做的。因此,将第三个输入参数添加到对低通的调用中,第三个参数将是您的采样率(以 Hz 为单位)。


推荐阅读