专栏
标签
滤波器的频率响应
一般问题
发布于 2025-05-20 16:20:17
查看 17过去404天

我想绘制这个滤波器的频率响应

滤波器参数

Fs = 48000
Fpass = 2000 # 通带截止频率 (Hz)
Fstop = 2500 # 阻带起始频率 (Hz)
Apass = 1 # 通带最大衰减 (dB)
Astop = 40 # 阻带最小衰减 (dB)

设计低通滤波器

y= lowpass(y0, 2000, Fs; plotfig=true)
freqz(y; plotfig = true)

所属专栏:Syslab基础平台
产品信息:Syslab科学计算环境
科学计算

全部回答 2

发布于 2025-05-20 16:28:38

您好,您提供的代码不完整,y0 未定义,请问是遇到什么问题呢?

发布于 2025-05-20 17:51:42

您好,lowpass 返回的是一个元组,无法直接绘制频率响应曲线,需要索引 y 的相关元素进行绘制,修改代码如下

using TySignalProcessing
using WAV 
using FFTW 
using TyPlot 

Fs = 48000
Fpass = 2000 # 通带截止频率 (Hz)
Fstop = 2500 # 阻带起始频率 (Hz)
Apass = 1 # 通带最大衰减 (dB)
Astop = 40 # 阻带最小衰减 (dB)
audio_data, fs = wavread("音频.wav")   
if size(audio_data, 2) > 1     
    y0 = audio_data[:, 1] 
else     
    y0 = audio_data 
end 
N = length(y0) 
n = 0:N-1   
f = (n / N .- 0.5) .* fs
y = lowpass(y0, 2000, Fs; plotfig=true)
freqz(y[1]; plotfig = true) # 索引 y[1] 进行绘制

返回结果如下:
image.png

用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天