低通数字滤波后序列频谱图 matlab
时间: 2024-02-16 21:57:39 浏览: 86
以下是使用Matlab进行低通数字滤波后序列频谱图的示例代码:
```matlab
% 生成输入信号
fs = 1000; % 采样率
t = 0:1/fs:1; % 时间序列
f1 = 10; % 输入信号频率
x = sin(2*pi*f1*t); % 输入信号
% 设计低通滤波器
fc = 50; % 截止频率
order = 4; % 滤波器阶数
[b, a] = butter(order, fc/(fs/2), 'low'); % 设计低通滤波器
% 应用滤波器
y = filter(b, a, x); % 应用滤波器
% 绘制频谱图
= length(y); % 信号长度
Y = fft(y); % 傅里叶变换
f = (0:N-1)*(fs/N); % 频率范围
power = abs(Y).^2/N; % 功率谱
plot(f, power); % 绘制频谱图
xlabel('频率 (Hz)');
ylabel('功率');
title('低通数字滤波后序列频谱图');
```
这段代码首先生成一个频率为10Hz的正弦信号作为输入信号,然后使用`butter`函数设计一个低通滤波器,截止频率为50Hz,阶数为4。接下来,使用`filter`函数将输入信号通过滤波器进行滤波得到输出信号。最后,使用傅里叶变换将输出信号转换到频域,并绘制频谱图。
阅读全文