Matlab-在系统上使用低通滤波器

为我

我必须遵循以下代码:

clc
clear all
close all

Fs = 6000;                    % Sampling frequency
T = 1/Fs;                     % Sample time
N=512;                        % Length of signal
t = (0:N-1)*T;                % Time vector


% Sum of a 1kHz sinusoid and a 2.5kHz sinusoid
x1=4*sin(2*pi*1000*t);
x2=sin(2*pi*2500*t); 

figure   
subplot(3,1,3)
stem(t,x1);

figure
subplot(2,1,1)
stem(t,x2);

x=x1+x2;
y=fft(x);
fx=(-N/2:(N/2-1))*(Fs/N);
figure, plot(fx,abs(fftshift(y))); 

我想查看信号的低频部分,这意味着在频域中有一个脉冲,我正在使用此滤波器:

fc = 1500;
Wn = (2/Fs)*fc;
b = fir1(20,Wn,'low',kaiser(21,3));

fvtool(b,1,'Fs',Fs)


z = filter(b,1,y);


plot(t(1:100),abs(z(1:100)))

xlabel('Time (s)')
ylabel('Amplitude')

但是我看到一个周期性的信号,我怎么能看到低频中的一个脉冲?

拉希德

您应该使用z = filter(b,1,x);

Fs = 6000;                   
T = 1/Fs;              
N=512;                       
t = (0:N-1)*T;               
x1 = 4*sin(2*pi*1000*t);
x2 = sin(2*pi*2500*t); 
x = x1 + x2;
NFFT = 2^nextpow2(N);
y = fft(x,NFFT)/N;
fx = Fs/2*linspace(0,1,NFFT/2+1);
subplot(211)
plot(fx,2*abs(y(1:NFFT/2+1))) 

fc = 1500; 
Wn = (2/Fs)*fc;
b = fir1(20,Wn,'low',kaiser(21,3));
z = filter(b,1,x);
Z = fft(z,NFFT)/N;
subplot(212)
plot(fx,2*abs(Z(1:NFFT/2+1))) 

在此处输入图片说明

仅绘制正频率更为常见。

N已经是2的幂,但是我定义NFFT了大小写N更改。

顺便说一句,您不需要figure在每个之前使用plot

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用fft的Matlab低通滤波器

来自分类Dev

MATLAB中的低通滤波器返回NaN值

来自分类Dev

在Matlab中设计一个低通滤波器

来自分类Dev

关于在Matlab中使用'butter'功能的低通滤波器的问题

来自分类Dev

使用双线性方法将低通滤波器应用于信号-MATLAB

来自分类Dev

在MATLAB中使用imgaussfilt进行的二维高斯低通滤波器

来自分类Dev

在音频上使用低通滤波器

来自分类Dev

高通低通滤波器信号,去除边缘伪像Matlab

来自分类Dev

Matlab FIR滤波器

来自分类Dev

Matlab滤波器矩阵

来自分类Dev

高通滤波器Matlab

来自分类Dev

平均滤波器Matlab

来自分类Dev

使用 Matlab 从滤波器设计器接收相同的系数

来自分类Dev

Matlab中高斯滤波器的导数

来自分类Dev

超低频滤波器MATLAB

来自分类Dev

在MATLAB中实现均值滤波器

来自分类Dev

Matlab中滤波器的逆FT

来自分类Dev

Matlab中的FIR滤波器

来自分类Dev

Matlab中的滤波器系数

来自分类Dev

使用MATLAB中的系数在C ++中进行FIR滤波器设计,滤波器未给出正确的结果

来自分类Dev

在MATLAB中使用自回归(AR)滤波器对某些随机信号进行滤波

来自分类Dev

应用低通滤波器

来自分类Dev

FFT低通滤波器

来自分类Dev

FPGA的低通滤波器

来自分类Dev

FFT低通滤波器

来自分类Dev

应用低通滤波器

来自分类Dev

在Matlab中将朴素逆滤波器与维纳滤波器进行反卷积比较

来自分类Dev

如何使用Matlab绘制巴特沃斯滤波器的频率响应

来自分类Dev

如何在Matlab中使用椭圆滤波器获取edf数据