matlab正弦波进行低通滤波
时间: 2023-08-23 15:07:24 浏览: 267
在MATLAB中,可以使用以下代码对正弦波进行低通滤波:
```matlab
clear; clc;
n = 0:79;
xn = 2*sin(0.05*pi.*n); % 正弦波信号
fc = 0.1; % 截止频率
fs = 1; % 采样频率
\[b, a\] = butter(2, fc/(fs/2)); % 二阶巴特沃斯低通滤波器设计
yn = filter(b, a, xn); % 低通滤波
stem(n, yn, '.'); % 绘制滤波后的信号
xlabel('n');
ylabel('y(n)');
title('低通滤波后的正弦信号');
```
在这段代码中,首先定义了正弦波信号`xn`,然后通过`butter`函数设计了一个二阶巴特沃斯低通滤波器,截止频率为`fc`,采样频率为`fs`。接下来使用`filter`函数对正弦波信号进行低通滤波,得到滤波后的信号`yn`。最后使用`stem`函数绘制滤波后的信号。
请注意,这里的截止频率`fc`是相对于采样频率`fs`的归一化频率,取值范围为0到1。如果需要具体的截止频率,可以根据采样频率和所需的截止频率计算得到。
#### 引用[.reference_title]
- *1* *2* [低通滤波与RC振荡产生正弦波](https://blog.csdn.net/qq_46554815/article/details/114049681)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [练习题:带噪声的正弦信号通过低通滤波器后的输出(MATLAB解答)](https://blog.csdn.net/weixin_44117735/article/details/120706672)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文