主要内容

designParamEQ

设计参量均衡器

描述

例子

B一个) = designParamEQ (N获得centerFreq带宽设计一个N具有指定增益、中心频率和带宽的th阶参数均衡器。B一个是分子系数和分母系数的矩阵,列对应于级联的二阶分段(SOS)滤波器。

例子

B一个) = designParamEQ (N获得centerFreq带宽模式指定参数均衡器是使用二阶段还是四阶段(FOS)实现的。

B一个) = designParamEQ (___名称,值使用一个或多个指定选项名称,值对参数。

例子

全部折叠

指定参数均衡器的滤波器顺序、峰值增益(dB)、归一化中心频率和归一化带宽。

N = (2...4];收益= (6...-4];centerFreq = [0.25...0.75];带宽= [0.12...0.1];

使用指定的参数生成过滤系数。

[B] = designParamEQ (N,增益,centerFreq,带宽,“定位”“行”);

想象你的过滤器设计。

fvtool ([B]);

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含一个类型为line的对象。

设计了一种二阶分段(SOS)参数均衡器designParamEQ并过滤音频流。

创建音频文件读取器和音频设备写入器系统对象。使用读者的抽样率作为作者的抽样率。

frameSize = 256;fileReader = dsp。AudioFileReader (“rockguitar - 16 - 44 - p1 -立体声- 72 secs.wav”“SamplesPerFrame”, frameSize);sampleRate = fileReader.SampleRate;deviceWriter = audioDeviceWriter (“SampleRate”, sampleRate);

通过设备播放音频信号。

数= 0;计数< 2500音频= fileReader();deviceWriter(音频);Count = Count + 1;结束重置(fileReader)

设计一个适合使用的SOS参数均衡器dsp。B我问uadFilter

N = (4, 4);收益= (-25,35);centerFreq = [0.01, 0.5];带宽= [0.35,0.5];[B] = designParamEQ (N,增益,centerFreq,带宽);

想象你的过滤器设计。调用designParamEQ具有相同的设计规格。指定输出方向为“行”使它适合与fvtool

[Bvisualize, Avisualize] = designParamEQ (N,增益,centerFreq,带宽,“定位”“行”);fvtool ([Bvisualize, Avisualize],...“Fs”, fileReader。SampleRate,...“FrequencyScale”“日志”);

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含一个类型为line的对象。

创建一个双四滤波器。

myFilter = dsp。BiquadFilter (...“SOSMatrixSource”“输入端口”...“ScaleValuesInputPort”、假);

创建一个频谱分析仪来可视化原始音频信号和音频信号通过您的参数均衡器。

= dsp范围。简介(...“SampleRate”sampleRate,...“PlotAsTwoSidedSpectrum”假的,...“FrequencyScale”“日志”...“FrequencyResolutionMethod”“WindowLength”...“WindowLength”frameSize,...“标题”“原始和均衡信号”...“ShowLegend”,真的,...“ChannelNames”, {原始信号的“平衡的信号”});

播放过滤后的音频信号,并可视化原始和过滤后的频谱。

数= 0;count < 2500 originalSignal = fileReader();equalizedSignal = myFilter (originalSignal B);范围([originalSignal (: 1), equalizedSignal (: 1)));deviceWriter (equalizedSignal);Count = Count + 1;结束

作为一种最佳实践,一旦完成就释放对象。

发行版(deviceWriter)发布(fileReader)发布(范围)

图频谱分析仪包含一个轴对象和其他类型的对象uiflowcontainer, uimenu, uitoolbar。标题为Original和Equalized Signals的轴对象包含两个类型为line的对象。这些对象代表原始信号,均衡信号。

设计了一种四阶截面(FOS)参数均衡器designParamEQ并过滤音频流。

构建音频文件阅读器和音频设备写入系统对象。使用读者的抽样率作为作者的抽样率。

frameSize = 256;fileReader = dsp。AudioFileReader (...“rockguitar - 16 - 44 - p1 -立体声- 72 secs.wav”...“SamplesPerFrame”, frameSize);sampleRate = fileReader.SampleRate;deviceWriter = audioDeviceWriter (...“SampleRate”, sampleRate);

通过设备播放音频信号。

数= 0;count < 2500 x = fileReader(); / /读取数据deviceWriter (x);Count = Count + 1;结束重置(fileReader)

设计FOS参数均衡器系数。

N =(2、4);获得=(5、10);centerFreq = [0.025, 0.65];带宽= [0.025,0.35];模式=“安全系数”;[B] = designParamEQ (N,增益,centerFreq,带宽,模式,“定位”“行”);

构建FOS IIR过滤器。

myFilter = dsp.FourthOrderSectionFilter (B);

可视化您的参数均衡器的频率响应。

fvtool (myFilter)

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含一个类型为line的对象。

构造一个频谱分析仪来可视化原始音频信号和通过参数均衡器的音频信号。

= dsp范围。简介(...“SampleRate”sampleRate,...“PlotAsTwoSidedSpectrum”假的,...“FrequencyScale”“日志”...“FrequencyResolutionMethod”“WindowLength”...“WindowLength”frameSize,...“标题”“原始和均衡信号”...“ShowLegend”,真的,...“ChannelNames”, {原始信号的“平衡的信号”});

播放过滤后的音频信号,并可视化原始和过滤后的频谱。

数= 0;count < 2500 x = fileReader(); / /读取数据y = myFilter (x);范围([x (: 1), y (: 1)));deviceWriter (y);Count = Count + 1;结束

作为一种最佳实践,一旦完成就释放对象。

发行版(fileReader)发布(deviceWriter)发布(范围)

图频谱分析仪包含一个轴对象和其他类型的对象uiflowcontainer, uimenu, uitoolbar。标题为Original和Equalized Signals的轴对象包含两个类型为line的对象。这些对象代表原始信号,均衡信号。

输入参数

全部折叠

过滤器顺序,指定为长度相同的标量或行向量centerFreq.向量的元素必须是偶数。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

以dB为单位的峰值增益,指定为长度与centerFreq.向量的元素必须是实值。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

均衡器频带的归一化中心频率,指定为实值范围0到1的标量或行向量,其中1对应于奈奎斯特频率(π rad/sample)。如果centerFreq指定为行向量,则为centerFreq

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

规格化带宽,指定为长度相同的标量或行向量centerFreq.向量的元素被指定为0到1之间的实值,其中1对应于Nyquist频率(π rad/sample)。

归一化带宽测量为获得/ 2dB。如果增益设置为(陷波器),归一化带宽在3db衰减点测量: 10 × 日志 10 0.5

要将倍频带宽转换为规格化带宽,请计算相关的的因素是

2 o c t 一个 v e b 一个 n d w d t h 2 o c t 一个 v e b 一个 n d w d t h 1

然后转换为带宽

b 一个 n d w d t h c e n t e r F r e

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

设计模式,指定为“sos”“安全系数”

  • “sos”—将均衡器实现为级联的二阶滤波器。

  • “安全系数”将均衡器实现为级联的四阶滤波器。因为四阶分段不需要计算根,所以它们通常计算效率更高。

数据类型:字符|字符串

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“定位”,“行”

返回滤波器系数的方向,指定为逗号分隔对,由“定位”“列”“行”

数据类型:字符|字符串

输出参数

全部折叠

分子滤波器系数,以矩阵形式返回。大小和解释B取决于取向模式

  • 如果“定位”被设置为“列”模式被设置为“sos”,然后B作为l3矩阵。每一列对应于二阶级联部分的分子系数。

  • 如果“定位”被设置为“列”模式被设置为“安全系数”,然后B作为l5矩阵。每一列对应于四阶分段的分子系数。

  • 如果“定位”被设置为“行”模式被设置为“sos”,然后B返回为3-by-l矩阵。每一行对应于二阶分段的分子系数。

  • 如果“定位”被设置为“行”模式被设置为“安全系数”,然后B返回为5-by-l矩阵。每一行对应于四阶分段的分子系数。

分母过滤系数,返回为矩阵。大小和解释一个取决于取向模式

  • 如果“定位”被设置为“列”模式被设置为“sos”,然后一个作为l2矩阵。每一列对应于二阶分段的分母系数。一个不包括主要的单位系数。

  • 如果“定位”被设置为“列”模式被设置为“安全系数”,然后一个作为l4矩阵。每一列对应于四阶分段的分母系数。一个不包括主要的单位系数。

  • 如果“定位”被设置为“行”模式被设置为“sos”,然后一个返回为3-by-l矩阵。每一行对应于二阶分段的分母系数。

  • 如果“定位”被设置为“行”模式被设置为“安全系数”,然后一个返回为5-by-l矩阵。每一行对应于四阶分段的分母系数。

参考文献

索福克勒斯·奥法尼迪斯“高阶数字参数均衡器设计”。音频工程学会学报。第53卷,2005年11月,第1026-1046页。

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

介绍了R2016a