带通
带通滤波器的信号
描述
例子
音调带通滤波
创建一个在1khz采样1秒的信号。该信号包含三个音调,一个是50hz,另一个是150hz,第三个是250hz。高频音和低频音的振幅都是中间音的两倍。信号嵌入方差为1/100的高斯白噪声中。
fs = 1 e3;t = 0:1 / fs: 1;x = [2 1 2] * sin(2 *π*[50 150 250]“。* t) + randn(大小(t)) / 10;
带通滤波去除信号中的低频和高频音。指定通频带频率为100hz和200hz。显示原始信号和滤波后的信号,以及它们的光谱。
带通(x, 200 [100], fs)
音乐信号的带通滤波
实现一个基本的数字音乐合成器,并使用它来播放一首传统歌曲。指定2 kHz的采样率。绘制这首歌的谱图。
fs = 2 e3;t = 0:1 / fs: 0.3 - 1 / f;L = [0 130.81 146.83 164.81 174.61 196.00 220 246.94];M = [0 261.63 293.66 329.63 349.23 392.00 440 493.88];H = [0 523.25 587.33 659.25 698.46 783.99 880 987.77];注意= @ (f, g) (1 1 1) * sin(2 *π* (l (g) m (g) h (f)]的。* t);MEL = [3 2 1 2 3 3 3 0 2 2 2 2 2 0 3 5 5 0 3 2 1 2 3 3 3 2 2 2 1]+1;Acc = [3 0 5 0 3 0 3 3 2 0 2 2 3 0 5 5 3 0 5 0 3 3 0 3 2 3 0 1]+1;歌= [];为Kj = 1:length(mel) song = [song note(mel(Kj),acc(Kj)) zero (1,0.01*fs)];结束歌=歌曲/ (max (abs(歌曲))+ 0.1);%要听到,输入声音(song,fs)pspectrum(宋、fs、的谱图,“TimeResolution”, 0.31,...“OverlapPercent”0,“MinThreshold”, -60)
带通滤波器将信号从其他两个寄存器中分离出来。指定通频带频率为230hz和450hz。在时域和频域绘制原始信号和滤波后的信号。
Pong = bandpass(song,[230 450],fs);%要听到,输入声音(pong,fs)带通(歌曲,450年[230],fs)
画出中间音域的谱图。
图pspectrum(乒乓球、fs、的谱图,“TimeResolution”, 0.31,...“OverlapPercent”0,“MinThreshold”, -60)
带通滤波器陡度
使用通带宽度为100hz的无限脉冲响应带通滤波器对1khz采样的白噪声进行滤波。使用不同的陡度值。画出滤波后信号的光谱。
fs = 1000;x = randn (20000 1);[y1,d1] =带通(x,[50 150],fs, impulse esponse= .“信息检索”、陡度= 0.5);[y2,d2] =带通(x,[200 300],fs, impulse esponse= .“信息检索”、陡度= 0.8);[y3,d3] =带通(x,[350 450],fs, impulse esponse=“信息检索”、陡度= 0.95);Pspectrum ([y1 y2 y3],fs)图例("陡度= "+[0.5 0.8 0.95],位置=“南”)
计算并绘制滤波器的频率响应图。
(h1, f) = freqz (d1、1024 fs);(h2, ~) = freqz (d2、1024 fs);[h3, ~] = freqz (d3、1024 fs);Plot (f,mag2db(abs([h1 h2 h3]))"陡度= "+[0.5 0.8 0.95],位置=“南”-100) ylim ([10])
通过在较低和较高通频带频率处指定不同的陡度值,使滤波器不对称。
[y1,d1] =带通(x,[50 150],fs, impulse esponse= .“信息检索”,陡度= [0.5 - 0.8]);[y2,d2] =带通(x,[200 300],fs, impulse esponse= .“信息检索”,陡度= [0.5 - 0.8]);[y3,d3] =带通(x,[350 450],fs, impulse esponse=“信息检索”,陡度= [0.5 - 0.8]);pspectrum (y1 y2 y3, fs)
计算并绘制滤波器的频率响应图。
(h1, f) = freqz (d1、1024 fs);(h2, ~) = freqz (d2、1024 fs);[h3, ~] = freqz (d3、1024 fs);Plot (f,mag2db(abs([h1 h2 h3]))) ylim([-100 10])
输入参数
x
- - - - - -输入信号
向量|矩阵
输入信号,指定为向量或矩阵。
例子:罪(2 *π* (0:127)/ 16)+ randn (1128) / 100
指定一个有噪声的正弦信号
例子:[2 1]。* sin(2 *π*(0:127)”。/ [64])
指定双通道正弦信号。
数据类型:单
|双
复数的支持:是的
wpass
- - - - - -归一化通带频率范围
元素位于(0,1)的二元向量
归一化通带频率范围,指定为区间内包含元素的双元素向量(0,1).
成就
- - - - - -通带频率范围
元素在(0,fs
/ 2)
通带频率范围,指定为区间内包含元素的双元素向量(0,fs
/ 2).
fs
- - - - - -采样率
积极的真正的标量
抽样速率,指定为正实标量。
xt
- - - - - -输入时间表
时间表
输入时间表。xt
必须包含递增的、有限的和等间距的行次数持续时间
在几秒钟内。
如果时间表有缺失或重复的时间点,您可以使用中的提示来修复它干净的时间表,缺少,重复,或不一致的时间.
例子:时间表(秒(0:4)”,randn(5、1),randn (2))
包含一个单通道随机信号和一个双通道随机信号,以1hz采样4秒。
例子:时间表(randn(5、1)randn (5, 2), SampleRate = 1)
包含一个单通道随机信号和一个双通道随机信号,以1hz采样4秒。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
例子:ImpulseResponse =“信息检索”,StopbandAttenuation = 30
使用最小阶IIR滤波器对输入进行滤波,该滤波器将小于的频率衰减30 dB成就(1)
频率大于成就(2)
.
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:“ImpulseResponse”、“信息检索”,“StopbandAttenuation”,30岁
使用最小阶IIR滤波器对输入进行滤波,该滤波器将小于的频率衰减30 dB成就(1)
频率大于成就(2)
.
ImpulseResponse
- - - - - -脉冲响应类型
“汽车”
(默认)|“杉”
|“信息检索”
滤波器的脉冲响应类型,指定为“杉”
,“信息检索”
,或“汽车”
.
“杉”
-该函数设计了一个最小阶线性相位有限冲击响应(FIR)滤波器。为了补偿延迟,函数附加到输入信号后N/ 2 0,N是过滤器顺序。然后该函数对信号进行过滤并删除第一个信号N输出的/2个样本。在这种情况下,输入信号必须至少是满足规格的滤波器的两倍长。
“信息检索”
-该函数设计了一个最小阶无限脉冲响应(IIR)滤波器,并使用filtfilt
功能执行零相位滤波和补偿滤波延迟。如果信号不至少是满足规格的滤波器的三倍长,函数设计一个更小阶的滤波器,因此更小的陡度。
“汽车”
-如果输入信号足够长,该函数设计一个最小阶FIR滤波器,否则设计一个最小阶IIR滤波器。具体来说,该函数遵循以下步骤:计算FIR滤波器必须满足规格的最小顺序。如果信号至少是所需滤波器顺序的两倍长,则设计并使用该滤波器。
如果信号不够长,计算IIR滤波器必须满足规格的最小顺序。如果信号至少是所需滤波器顺序的三倍长,则设计并使用该滤波器。
如果信号不够长,将其截断为信号长度的三分之一,并设计相应的IIR滤波器。顺序的减少是以牺牲过渡带的陡度为代价的。
对信号进行滤波并补偿延时。
陡度
- - - - - -过渡带陡峭
0.85
(默认)|区间[0.5,1)中的标量|区间为[0.5,1)的元素的二元向量
过渡带的陡度,指定为一个标量或区间内包含元素的双元素向量(0.5, 1).随着陡度的增加,滤波器响应接近理想的带通响应,但由此产生的滤波器长度和滤波操作的计算成本也会增加。看到带通滤波器陡度为更多的信息。
StopbandAttenuation
- - - - - -滤波器阻带衰减
60
(默认)|dB的正标量
滤波器阻带衰减,指定为正标量,单位为dB。
输出参数
y
——过滤信号
向量|矩阵|时间表
经过过滤的信号,作为与输入具有相同维度的向量、矩阵或时间表返回。
d
- - - - - -带通滤波器
digitalFilter
对象
用于滤波操作的带通滤波器,返回为digitalFilter
对象。
更多关于
带通滤波器陡度
的陡度
参数控制过滤器转换区域的宽度。陡度越低,过渡区域越宽。陡度越高,过渡区越窄。
为了解释滤镜陡度,考虑以下定义:
的奈奎斯特频率,f尼奎斯特,是在不混叠的情况下以给定速率采样的信号的最高频率成分。f尼奎斯特是1(×πRad /sample),当输入信号无时间信息时,和
fs
/2赫兹当输入信号是时间表或者当你指定采样速率时。下层和上层阻带频率的过滤器,f停止较低的而且f停止上,是在其以下和以上的衰减等于或大于使用的指定值的频率
StopbandAttenuation
.的较低的过渡宽度的过滤器,W较低的,是
成就
较低的- - - - - -f停止较低的,那里的低通带频率成就
较低的的第一个元素是否指定成就
.的上部过渡宽度的过滤器,W上,是f停止上- - - - - -
成就
上,那里的上通带频率成就
上第二个元素是成就
.大多数非理想滤波器也衰减输入信号穿过通带。这种与频率相关的衰减的最大值称为通带纹波.使用的每个过滤器
带通
通带波纹为0.1 dB。
要控制过渡带的宽度,可以指定陡度
作为一个二元向量,[年代较低的,年代上],或者一个标量。当你指定陡度
作为一个向量,函数:
计算下过渡宽度为
W较低的= (1 -年代较低的)×
成就
较低的.的第一个元素
陡度
等于0.5,过渡宽度是50%成就
较低的.的第一个元素
陡度
方法1,过渡宽度逐渐变窄,直到达到最小值1%成就
较低的.
计算上过渡宽度为
W上= (1 -年代上)×(f尼奎斯特- - - - - -
成就
上).的第二元素
陡度
等于0.5,过渡宽度是50%(f尼奎斯特- - - - - -成就
上).的第二个元素
陡度
方法1,过渡宽度逐渐变窄,直到达到最小值1%(f尼奎斯特- - - - - -成就
上).
当你指定陡度
作为一个标量,该函数设计了一个具有相等上下过渡宽度的滤波器。的默认值。陡度
是0.85。
版本历史
介绍了R2018a
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。