新書推薦:
《
紫云村(史杰鹏笔下大唐小吏的生死逃亡,新历史主义小说见微之作,附赠5张与小说内容高度契合的宣纸彩插)
》
售價:NT$
449.0
《
现代吴语的研究(中华现代学术名著3)
》
售價:NT$
296.0
《
天下的当代性:世界秩序的实践与想象(新版)
》
售價:NT$
352.0
《
德国天才4:断裂与承续
》
售價:NT$
500.0
《
妈妈的情绪,决定孩子的未来
》
售價:NT$
194.0
《
推拿纲目
》
售價:NT$
1836.0
《
精致考古--山东大学实验室考古项目论文集(一)
》
售價:NT$
1112.0
《
从天下到世界——国际法与晚清中国的主权意识
》
售價:NT$
347.0
編輯推薦:
《数字信号处理:原理、实现及应用基于MATLABSimulink与TMS320C55xx DSP的实现方法》(原书第3版)是美国高校与企业合作的典型教材!全书对第2版内容进行了全面更新,尤其是更新了*的DSP器件应用,并介绍了新的开发工具。调整了软件设计过程,通过缓解密集的编程工作(传统的DSP汇编工作),使读者兼顾数字信号处理理论与实践的学习。本书特点如下:? 重新强调C语言程序设计,减少了汇编程序设计的内容;尤其关注 C语言算法、定点C语言代码和内在函数的有效使用。对于整个设计周期,采用一步一步的动手实验来进行说明。? 更新了数字信号处理的应用领域以便反映*的技术发展,例如用于下一代网络的语音编码技术、语音编解码(如宽带ITU G.722.2)、图形和参数音频均衡器、多种音效、用于JPEG2000的2D离散小波变换、各种2D滤波器算子和指纹图像处理。? 新增了一些练习项目,可用作课题设计,同时增加了很多采用TI库的实时信号处理实验,这些实验具有灵活的接口,便于读者采用并修改,从提供的基本程序中来创建其他有用的应用。? 提供了更多的MATLAB实验,例如滤波器设计、变换、图像颜色空间
內容簡介:
本书在论述数字信号处理原理的基础上,通过DSP器件与MATLAB仿真给出了丰富的实践应用。本书可分为两个部分: *部分(第1~6章)介绍DSP原理、算法、分析方法和实现考虑; 第二部分(第7~11章)介绍几种重要的DSP应用,它们均在当代信号处理设备的实现中扮演着重要的角色。本书的附录总结了数字信号处理常用的数学公式,并为感兴趣的读者介绍了TMS320C55xx DSP的体系结构和汇编语言编程。本书可用作高年级本科生和研究生的教材,也可以用作从事DSP应用技术的工程师、算法开发者、嵌入式系统设计师的参考用书。
關於作者:
Sen M. Kuo:(美国)北伊利诺伊大学(Northern Illinois University)计算机与电子科学专业教授。Bob H. Lee:(美国)Ittiam系统公司(Ittiam Systems, Inc.)。Wenshun Tian :(美国)圣思网络公司(Sonus Networks, Inc.)。王永生:译者,毕业于哈尔滨工业大学,获得微电子学与固体电子学专业博士学位。现任哈尔滨工业大学航天学院副教授,从事数模混合信号集成电路、系统芯片(SoC)及可测试性可靠性设计的教学及科研工作。先后承担及参与了十余项国家、省部级等科研项目,主要承担SoC及IP模块设计、可测试设计及混合信号IP标准制定等相关工作;开发了多款高速及高精度模数转换器芯片以及混合信号SoC芯片。在模数转换器设计、混合信号SoC等方面发表了四十余篇学术论文;申请了十余项发明专利。
目錄 :
目录
第1章实时数字信号处理概述
1.1实时DSP系统的基本组成
1.2模拟接口
1.2.1采样
1.2.2量化和编码
1.2.3平滑滤波器
1.2.4数据转换器
1.3DSP硬件
1.3.1DSP硬件备选
1.3.2数字信号处理器
1.3.3定点和浮点处理器
1.3.4实时约束
1.4DSP系统设计
1.4.1算法开发
1.4.2DSP硬件的选择
1.4.3软件开发
1.4.4软件开发工具
1.5实验和程序实例
1.5.1CCS和eZdsp开始
1.5.2C文件IO函数
1.5.3eZdsp的用户界面
1.5.4采用eZdsp的音频回放
1.5.5采用eZdsp的音频回送
习题
参考文献
第2章DSP基础及实现要点
2.1数字信号和系统
2.1.1基本数字信号
2.1.2数字系统的框图表示
2.2系统概念
2.2.1LTI系统
2.2.2z变换
2.2.3传递函数
2.2.4极点和零点
2.2.5频率响应
2.2.6离散傅里叶变换
2.3随机变量简介
2.3.1随机变量的回顾
2.3.2随机变量的运算
2.4定点表示和量化效应
2.4.1定点格式
2.4.2量化误差
2.4.3信号量化
2.4.4系数量化
2.4.5舍入噪声
2.4.6定点工具箱
2.5溢出及解决方案
2.5.1饱和运算
2.5.2溢出处理
2.5.3信号缩放
2.5.4保护位
2.6实验和程序实例
2.6.1溢出和饱和运算
2.6.2函数逼近
2.6.3采用eZdsp的实时信号产生
习题
参考文献
第3章FIR滤波器设计与实现
3.1FIR滤波器简介
3.1.1滤波器特性
3.1.2滤波器类型
3.1.3滤波器规范
3.1.4线性相位FIR滤波器
3.1.5FIR滤波器的实现
3.2FIR滤波器设计
3.2.1傅里叶级数方法
3.2.2吉布斯现象
3.2.3窗函数
3.2.4采用MATLAB的FIR滤波器设计
3.2.5采用FDATool的FIR滤波器设计
3.3实现考虑
3.3.1FIR滤波器中量化效应
3.3.2MATLAB实现
3.3.3浮点C实现
3.3.4定点C实现
3.4应用: 插值和抽取滤波器
3.4.1插值
3.4.2抽取
3.4.3采样率转换
3.4.4MATLAB实现
3.5实验和程序实例
3.5.1采用定点C的FIR滤波
3.5.2采用C55xx汇编程序的FIR滤波
3.5.3采用C55xx汇编程序的对称FIR滤波
3.5.4采用DualMAC结构的优化
3.5.5实时FIR滤波
3.5.6采用C和汇编程序的抽取
3.5.7采用定点C的插值
3.5.8采样率转换
3.5.9实时采样率转换
习题
参考文献
第4章IIR滤波器设计与实现
4.1简介
4.1.1模拟系统
4.1.2映射属性
4.1.3模拟滤波器的特性
4.1.4频率变换
4.2IIR滤波器的设计
4.2.1双线性变换
4.2.2采用双线性变换的滤波器设计
4.3IIR滤波器的实现
4.3.1直接型
4.3.2级联实现
4.3.3并行实现
4.3.4采用MATLAB的IIR滤波器实现
4.4采用MATLAB的IIR滤波器设计
4.4.1采用MATLAB的滤波器设计
4.4.2采用MATLAB的频率转换
4.4.3采用FDATool的滤波器设计与实现
4.5实现考虑
4.5.1稳定性
4.5.2有限精度效应和解决方案
4.5.3IIR滤波器的MATLAB实现
4.6实际应用
4.6.1递归谐振器
4.6.2递归正交振荡器
4.6.3参数均衡器
4.7实验和程序实例
4.7.1采用浮点C的直接Ⅰ型IIR滤波器
4.7.2采用定点C的直接Ⅰ型IIR滤波器
4.7.3采用定点C的级联IIR滤波器
4.7.4采用内在函数的级联IIR滤波器
4.7.5采用汇编程序的级联IIR滤波器
4.7.6实时IIR滤波
4.7.7采用定点C的参数均衡器
4.7.8实时参数均衡器
习题
参考文献
第5章频率分析和离散傅里叶变换
5.1傅里叶级数和傅里叶变换
5.1.1傅里叶级数
5.1.2傅里叶变换
5.2离散傅里叶变换
5.2.1离散时间傅里叶变换
5.2.2离散傅里叶变换方法
5.2.3重要性质
5.3快速傅里叶变换
5.3.1时域抽取
5.3.2频域抽取
5.3.3快速傅里叶逆变换
5.4实现考虑
5.4.1计算的问题
5.4.2有限精度效应
5.4.3MATLAB实现
5.4.4采用MATLAB的定点实现
5.5实际应用
5.5.1频谱分析
5.5.2频谱泄露和分辨率
5.5.3功率谱密度
5.5.4卷积
5.6实验和程序实例
5.6.1采用浮点C的DFT
5.6.2采用C55xx汇编程序的DFT
5.6.3采用浮点C的FFT
5.6.4采用具有内在函数定点C的FFT
5.6.5FFT和IFFT的实验
5.6.6采用C55xx硬件加速器的FFT
5.6.7采用C55xx硬件加速器的实时FFT
5.6.8采用重叠相加技术的快速卷积
5.6.9实时快速卷积
习题
参考文献
第6章自适应滤波
6.1随机过程简介
6.2自适应滤波器
6.2.1自适应滤波简介
6.2.2性能函数
6.2.3最速下降法
6.2.4LMS算法
6.2.5改进LMS算法
6.3性能分析
6.3.1稳定性约束
6.3.2收敛速度
6.3.3过量均方误差
6.3.4归一化LMS算法
6.4实现考虑
6.4.1计算的问题
6.4.2有限精度效应
6.4.3MATLAB实现
6.5实际应用
6.5.1自适应系统识别
6.5.2自适应预测
6.5.3自适应噪声消除
6.5.4自适应反演建模
6.6实验和程序实例
6.6.1采用浮点C的LMS算法
6.6.2采用定点C的Leaky LMS算法
6.6.3采用定点C和内在函数的归一化LMS算法
6.6.4采用汇编程序的延迟LMS算法
6.6.5自适应系统识别的实验
6.6.6自适应预测器的实验
6.6.7自适应信道均衡器的实验
6.6.8采用eZdsp的实时自适应预测
习题
参考文献
第7章数字信号产生和检测
7.1正弦波产生器
7.1.1查找表法
7.1.2线性调频信号
7.2噪声产生器
7.2.1线性同余序列
7.2.2伪随机二进制序列产生器
7.2.3白色、彩色和高斯噪声
7.3DTMF产生和检测
7.3.1DTMF产生器
7.3.2DTMF检测
7.4实验和程序实例
7.4.1采用查找表的正弦波产生器
7.4.2采用查找表的警笛产生器
7.4.3DTMF产生器
7.4.4采用定点C的DTMF检测
7.4.5采用汇编程序的DTMF检测
习题
参考文献
第8章自适应回波消除
8.1线路回波简介
8.2自适应线路回波消除器
8.2.1自适应回波消除的原理
8.2.2性能评估
8.3实际考虑
8.3.1信号的预白化
8.3.2延迟估计
8.4双重通话效应及解决方案
8.5非线性处理器
8.5.1中心削波器
8.5.2舒适噪声
8.6自适应回声消除
8.6.1回声
8.6.2回声消除器
8.6.3子带实现
8.6.4无延迟结构
8.6.5回声消除和降噪的集成
8.6.6实现考虑
8.7实验和程序实例
8.7.1采用浮点C的回声消除器
8.7.2采用具有内在函数的定点C的回声消除器
8.7.3AEC和降噪的集成
习题
参考文献
第9章语音信号处理
9.1语音编码技术
9.1.1采用LPC的语音生成模型
9.1.2CELP编码
9.1.3合成滤波器
9.1.4激励信号
9.1.5基于感知的最小化程序
9.1.6语音活动检测
9.1.7ACELP编解码器
9.2语音增强
9.2.1噪音抑制技术
9.2.2短时频谱估计
9.2.3幅度谱减
9.3VoIP应用
9.3.1VoIP概述
9.3.2不连续传输
9.3.3数据包丢失隐藏
9.3.4媒体流的质量因素
9.4实验和程序实例
9.4.1采用具有内在函数的定点C的LPC滤波器
9.4.2采用具有内在函数的定点C的感知加权滤波器
9.4.3采用浮点C实现的VAD
9.4.4采用定点C实现的VAD
9.4.5采用不连续传输的语音编码
9.4.6含有CNG的语音解码器
9.4.7采用浮点C的频谱减算法
9.4.8定点C实现的G722.2
9.4.9定点C实现G.711压扩
9.4.10实时G.711音频回送
习题
参考文献
第10章音频信号处理
10.1简介
10.2音频编码
10.2.1编码基本原理
10.2.2频域编码
10.2.3无损音频编码
10.2.4MP3编码概述
10.3音频均衡器
10.3.1图形均衡器
10.3.2参数均衡器
10.4音频效果
10.4.1混响
10.4.2时间扩展和变调
10.4.3声音调制和混声
10.4.4空间声音
10.5实验和程序实例
10.5.1使用C语言实现浮点MDCT
10.5.2使用C和内在函数实现定点MDCT
10.5.3预回声效应
10.5.4浮点C的MP3解码
10.5.5使用eZdsp的实时参数均衡器
10.5.6镶边效果
10.5.7使用eZdsp的实时镶边效果
10.5.8颤音效果
10.5.9使用eZdsp的实时颤音效果
10.5.10空间声音效果
10.5.11用eZdsp的实时空间效果
习题
参考文献
第11章数字图像处理初步
11.1数字图像与系统
11.1.1数字图像
11.1.2数字图像系统
11.2色彩空间
11.3YCbCr下采样色彩空间
11.4色彩平衡和校正技术
11.4.1色彩平衡
11.4.2颜色校正
11.4.3Gamma校正
11.5直方图均衡
11.6图像滤波
11.7快速卷积
11.8实际应用
11.8.1DCT与JPEG
11.8.2二维DCT变换
11.8.3指纹
11.8.4离散小波变换
11.9实验和程序实例
11.9.1YCbCr到RGB转换
11.9.2白平衡
11.9.3Gamma校正和对比度调节
11.9.4图像滤波
11.9.5DCT和IDCT
11.9.6指纹图像处理
11.9.7二维小波变换
习题
参考文献
附录A常用公式及定义
A.1三角恒等式
A.2等比级数
A.3复变量
A.4功率单位
参考文献
附录B软件组织和实验列表
附录CTMS320C55xx DSP简介
C.1引言
C.2TMS320C55xx体系结构
C.2.1体系结构概述
C.2.2片上存储
C.2.3存储器映射寄存器
C.2.4中断和中断向量
C.3TMS320C55xx寻址模式
C.3.1直接寻址模式
C.3.2间接寻址模式
C.3.3绝对寻址模式
C.3.4MMR寻址模式
C.3.5寄存器位的寻址模式
C.3.6循环寻址模式
C.4TMS320C55xx汇编语言编程
C.4.1算术指令
C.4.2逻辑和位操作指令
C.4.3转移指令
C.4.4程序流控制指令
C.4.5并行执行
C.4.6汇编指示
C.4.7汇编声明语法
C.5TMS320C55xx的C语言编程
C.5.1数据类型
C.5.2通过C编译器的汇编代码生成
C.5.3编译器关键词及编译指令
C.6混合C和汇编的编程
C.7实验和程序实例
C.7.1实例
C.7.2汇编程序
C.7.3乘法
C.7.4循环
C.7.5模运算
C.7.6使用C语言与汇编语言的混合程序
C.7.7AIC3204的使用
C.7.8模拟输入和输出
参考文献
內容試閱 :
前言
近些年,采用通用数字信号处理器(DSP)的实时数字信号处理,提供了设计和实现实际应用DSP系统的有效方法。很多公司专注于实时DSP的研究来开发新的应用。实时DSP应用的研究已经是并且将继续是学生、工程师和研究者们的具有挑战的领域。值得重视的是,我们不仅要掌握理论,并且还要掌握系统设计和实现技术的技巧。自从2001年出版《实时数字信号处理》(第1版)和2006年出版第2版以来,数字信号处理器的应用渗透到更为广泛的应用中。这导致很多大学课程发生变化,以便提供新的注重实现和应用的实时DSP课程,而且采用动手操作的实时实验来增强传统理论的讲授效果。同时,新处理器和开发工具的进步对书本知识的更新提出了持续的要求,以便能够跟上快速的DSP开发、应用和软件更新的革命。我们希望本书的第3版采用动手实验与理论、设计、应用和实现相结合,以便实现对实时DSP技术进行有效的学习。本书在给出基本DSP原理的同时,给出了很多MATLAB例子,并且强调通过动手实验来进行实时应用的学习。此书可用于高年级本科生和研究生的教材。本书的预备知识包括信号与系统的概念、基本的处理器结构以及MATLAB和C语言编程。这些内容通常覆盖电子与计算机工程、计算机科学及其他相关科学与工程领域的大学二年级水平。此书可以作为工程师、算法开发者、嵌入式系统设计师和编程者开发实际DSP系统的原理和实现技术的参考资料。我们采用实际动手操作的方式来讲授实验并评估结果,以便帮助读者理解复杂的理论原理。在每一章最后给出了一些图书、技术文章以及数学证明等参考文献,以供感兴趣读者阅读这些超出本书范围的内容。第3版的主要目标和变化总结如下:1 专注于实际应用,提供一步一步的动手实验,完成从采用MATLAB进行的算法评估到具体实现,包括采用浮点C编程,更新到定点C编程,以及采用带有C内在函数与定点数字信号处理器的汇编程序的混合C和汇编语言的软件优化。2 加强了很多实例和实验,以便使DSP原理的讲授变得更加有趣,并且可以和真实世界应用进行互动。为了便于进行实时实验,所有的C和汇编程序采用最新版本的开发工具Code Composer Studio和低成本的TMS320C5505(C55xx系列的成员) eZdsp USB stick进行了详细的更新。由于eZdsp的低成本和便携性,使得学生、工程师、教师以及业余爱好者可以在比传统实验室更加方便的地方进行DSP实验。这种新的硬件工具广泛地被大学和工业组织所采用,替代了以往更昂贵的开发工具。3 增加有吸引力和挑战性的DSP应用,例如: 下一代网络和蜂窝(移动)电话的语音编码技术; 便携式播放器的音频编码; 多种音响效果,包括空间声音、音乐的图形和参数化音频均衡器和音频录音效果; JPEG2000的二维离散小波变换; 特殊效果的图像滤波; 指纹图像处理。同时,开发采用模块化的设计和灵活接口的实时实验,以便这些软件可以作为原型程序来创建其他相关应用。4 以更灵活和逻辑性的方式组织章节。一些相关应用组织在一起。我们也去掉了一些内容,例如信道编码技术,也许其不适用于一个学期的课程。对第2版中依赖于硬件的内容进行了较大的简化,以附录的形式提供给对学习TMS320C55xx体系结构和汇编编程感兴趣的读者。所有的这些变化都是为了专注于DSP原理,并加强实际应用的动手实验这一目的。很多DSP算法和应用能够以MATLAB和浮点C程序的形式而得到。为了将这些程序转换为定点C,并为在定点处理器的实现而进行优化,本书提供系统的软件开发过程。为了有效地说明DSP的原理和应用,采用MATLAB进行算法的演示、设计和分析。在此开发阶段之后,紧接着进行DSP算法实现的浮点和定点C编程。最后,结合CCS和C5505 eZdsp进行动手实验。为了利用先进体系结构和指令集进行有效的软件开发和维护,对于实时应用,强调采用混合C和汇编程序的方法。本书针对原理和应用两个部分进行组织: 第一部分(第1章至第6章)介绍DSP原理、算法、分析方法和实现考虑。第1章回顾了实时DSP功能模块、DSP硬件选择、定点和浮点DSP器件、实时约束以及算法和软件开发过程的基础知识。第2章给出了基础DSP概念和实现DSP算法的实现考虑。第3章和第4章分别介绍了有限冲激响应和无限冲激响应滤波器的理论、设计、分析、实现和应用。第5章介绍了采用离散傅里叶变换进行频率分析的概念,以及快速傅里叶变换的实现和应用。第6章给出了自适应信号处理的基本原理以及很多实际应用。第二部分(第7章至第11章)介绍几种重要的DSP应用,其在当代现实世界系统和设备的实现中扮演着重要的角色。这些经过挑选的应用包括: 第7章的数字信号产生和双音多频(DTMF)检测; 第8章的自适应回波消除,特别是用于VoIP和免提电话应用; 第9章的语音处理算法,包括移动通信中的语音增强和编码技术; 第10章的音频信号处理,包括便携播放器的音响效果、均衡器和编码方法; 第11章的包括JPEG2000和指纹应用的图像处理基础。最后,附录A总结了用于本书的方程推导和习题求解的一些有用的公式,附录C为感兴趣的读者介绍了TMS320C55xx的体系结构和汇编编程。对于任何一本想要在一定时期内保持先进的技术书籍,必须针对这个动态领域的快速进步进行更新。我们希望此书能够在已经来临的技术中起到指导的作用,并为将要到来的技术提供灵感。软件获取本书在例子、实验和应用中利用了各种MATLAB、浮点和定点C以及TMS320C55xx汇编程序。从Wiley网站上(http:www.wiley.comgokuo_dsp)可以获得这些程序以及附带的很多数据文件的配套软件包。目录和子目录以及这些软件程序和数据文件均列在附录B中,并进行了解释。这些软件是每一章节最后一节和附录C中进行实验所需要的,可以增强对DSP原理的理解。这些软件可以作为原型进行修改,以提高其他实际应用的开发进度。致谢我们对德州仪器(Texas Instruments)的Gathy Wicks及Gene Frantz、MathWorks的Naomi Fernandes和Courtney Esposito表示诚挚的感谢,他们为我们撰写此书提供了支持。我们也要对下列John Wiley & Sons支持此项目的员工表示感谢: 特约编辑Alexandra King、项目编辑Liz Wingett和高级项目编辑Richard Davies。同时,我们也向为此书最终出版做了工作的John Wiley & Sons的工作人员表示感谢。我们还要感谢Hui Tian,他创建了用于实例和实验的专用音频剪辑。最后,我们感谢我们的家庭,自从我们从20世纪90年代撰写本书第1版的工作开始,他们给予了无尽的爱、鼓励、耐心和理解。Sen M. Kuo,Bob H. Lee和Wenshun Tian
第3章
FIR滤波器设计与实现
正如第2章讨论的,数字滤波器包括FIR和IIR滤波器。本章将介绍数字FIR滤波器设计、实现以及应用等方面内容[110]。3.1FIR滤波器简介
采用FIR滤波器的优点总结如下:1 FIR滤波器总是稳定的;2 可以保证实现线性相位滤波器的设计;3 在FIR滤波器中有限精度误差不太严重;4 FIR滤波器可以在大多数数字信号处理中有效地实现,这些处理器具有用于FIR滤波的优化硬件和专用指令。导出满足一套规范的滤波器系数的过程称为滤波器设计。即便存在很多用于设计数字滤波器的计算机辅助工具,例如带有诸如信号处理工具箱Signal Processing Toolbox[11]和DSP系统工具箱DSP System Toolbox,在老版本中称为滤波器设计工具箱等相关工具箱的MATLAB工具,我们仍需要理解滤波器的基本特性,并且熟悉用于实现数字滤波器的技术。3.1.1滤波器特性线性时不变滤波器可以采用幅度响应、相位响应、稳定性、上升时间、稳定时间和过冲等特性来描述。幅度和相位响应决定滤波器的稳态响应,而上升时间、稳定时间、过冲说明了瞬态响应。对于瞬时输入变化,上升时间说明其输出变化率。稳定时间描述输出稳定到一个稳态值需要多长时间,而过冲显示输出超出期望值的情况。参考图2.9以及式2.31的定义,输入信号、滤波器和输出信号的幅度和相位响应可以表达为
|Y|=|X‖H|3.1
和
Y=X H3.2
其中,Y、X、H分别表示输出、输入和滤波器的相位响应。这些公式表明输入信号的幅度相位谱经过滤波器后会被滤波器所改变。幅度响应|H|说明在给定频率下滤波器的增益,而相位响应H影响在给定频率下滤波器的相移或时间延迟。线性相位滤波器具有满足下式的相位响应:
H=或H=-3.3
滤波器的群延迟函数定义为
Td=-dHd3.4
对于式3.3定义的线性相位滤波器,所有频率下的群延迟Td为常数。由于输入信号中的所有频率成分延迟同样的时间,所以滤波器避免了相位失真。线性相位对于很多不同频率成分之间的时间关系要求很严格的应用是很重要的。【例3.1】考虑例2.14中的简单二点滑动平均滤波器,幅度响应为
|H|=12[1 cos]
由于幅度响应单调下降,并且在=处等于0,这是一个低通滤波器,其相位响应为
H=-2
这是式3.3表示的线性相位。因此,滤波器具有常数时间延迟
Td=-dHd=0.5
这个特性可以采用MATLAB程序example3_1.m来验证。采用freqzb, a的幅度和相位响应见图3.1。采用grpdelayb, a计算和显示群延迟,其表明对于所有频率具有常数延迟0.5。
图3.1二点滑动平均滤波器的幅度和相位响应
3.1.2滤波器类型滤波器通常采用幅度响应来定义。有四种不同类型的频率选择滤波器: 低通、高通、带通和带阻滤波器。因为实系数数字滤波器的幅度响应是的偶函数,所以通常在0的频率范围来定义滤波器规范。理想低通滤波器的幅度响应见图3.2a。区域0c和c分别定义为通带和阻带,c称为截止频率cutoff frequency。理想低通滤波器在通带0c具有幅度响应|H|=1,在阻带c具有幅度响应|H|=0。这样,理想低通滤波器通过截止频率以下的低频成分,而对高于c的高频成分进行抑制。理想高通滤波器的幅度响应见图3.2b。高通滤波器通过截止频率c以上的高频成分,而对低于c的低频成分进行抑制。实际中,高通滤波器用于消除低频噪声。理想带通滤波器的幅度响应见图3.2c。频率a和b分别称为低截止频率和高截止频率。理想带通滤波器通过两个截止频率a和b之间的频率成分,而对低于a高于b的频率成分进行抑制。理想带阻bandstop或bandreject滤波器的幅度响应见图3.2d。非常窄带阻滤波器也称为陷波滤波器notch filter。例如,电力线产生60Hz正弦噪声,称为电力线干扰power line interference或60Hz杂音60Hz hum,这样的噪声可以采用中心频率为60Hz的陷波滤波器进行移除。
图3.2四种不同理想滤波器的幅度响应
除了以上四种频率选择滤波器,还有一种全通滤波器对于所有频率提供频率响应|H|=1。根据式3.2,设计全通滤波器可以用来校正由于物理系统引入的相位失真,而不会改变频率成分的幅度。一个非常特殊的全通滤波器的例子是理想希尔伯特Hilbert变换器,它对输入信号产生90相移。多波段滤波器具有多个通带或阻带。多波段滤波器的一个特殊例子是梳状滤波器。梳状滤波器具有等距的零点,幅度响应的形状像一把梳子。梳状滤波器的差分方程给出如下
yn=xn-xn-L3.5
其中L是一个正整数。这种FIR滤波器的传递函数为
Hz=1-z-L=zL-1zL3.6
这样,梳状滤波器具有L个零点,等距分布在单位圆上的位置为
zl=ej2Ll,l=0,1,,L-13.7
【例3.2】L=8梳状滤波器具有八个零点,对于l=0, 1,,7,分别为原文有误,根据式3.7应该是zl=1,ej4,ej2,ej34,ej,ej54,ej32,ej74。译者注
zl=1,e4,e2,e34,e-1,e54,e32,e74
此梳状滤波器的频率响应采用MATLAB程序example3_2.mL=8绘制,见图3.3。
图3.3L=8的梳状滤波器的幅度相位响应
图3.3表明梳状滤波器可以用作多波段带阻滤波器去移除在以下频率处的窄带噪声:
l=2lL,l=0,1,,L2-13.8
通带的中心位于频率响应中相邻零点之间的一半处,即频率2l 1L, l=0, 1, , L2-1。梳状滤波器可用于通过或消除特定频率及谐波。对于抑制带有谐波相关成分的周期性信号,采用梳状滤波器比为每一个谐波设计单独的滤波器有效得多。例如,在电力变电站中的大变压器产生的杂音由60Hz电力线频率的偶次谐波120Hz、240Hz、360Hz等组成。当信号被变压器噪声损害时,可以采用120Hz倍数陷波频率的梳状滤波器来消除那些不希望的谐波成分。3.1.3滤波器规范经常在频率域说明数字滤波器的特性。这样,滤波器设计通常基于幅度响应规范。实际中,我们不能获得像图3.2中理想滤波器中那样无限陡峭的截止特性。从通带到阻带,实际滤波器具有逐渐滚降的过渡带。经常以容差或纹波的形式给出规范,说明过渡带来刻画允许滚降的平滑幅度。低通滤波器的典型幅度响应见图3.4,图中水平虚线表明的是容忍的偏差限制。幅度响应在通带具有峰值偏差p,在阻带具有最大偏差s。频率p和s分别是通带和阻带边缘截止频率。
图3.4低通滤波器的幅度响应和性能测量
如图3.4所示,通带0p幅度近似为单位1,并具有p的误差,即
1-p|H|1 p,0p3.9
通带纹波p是幅度响应通带允许变化值。注意,幅度响应的增益归一化到10dB。在阻带,幅度响应近似为0,并具有s误差,即
|H|s,s3.10
阻带纹波或衰减s描述的是在频率s以上信号成分的衰减。通带和阻带偏差通常采用分贝表示。通带纹波和阻带衰减定义为
Ap=20lg1 p1-pdB3.11
和
As=-20lgsdB3.12
【例3.3】考虑具有通带纹波0.01的滤波器,即p=0.01。根据式3.11,有
Ap=20lg1.010.99=0.1737dB
当阻带衰减为s=0.01,有
As=-20lg(0.01)=40dB
过渡带是通带边缘频率p和阻带边缘频率s之间的频率区域。在这个区域,幅度响应从通带到阻带单调地下降。过渡带的宽度决定了滤波器有多陡峭。通常,要求采用高阶滤波器来实现更小的p和s以及更窄的过渡带。3.1.4线性相位FIR滤波器FIR滤波器的信号流图见图2.6,IO方程由式2.14定义。如果L是奇数,则定义M=L-12。式2.14可写成
Bz=2Ml=0blz-l=Ml=-Mbl Mz-l M=z-MMl=-Mhlz-l=z-MHz3.13
其中
Hz=Ml=-Mhlz-l3.14
令hl具有对称属性
hl=h-l,l=0, 1,, M3.15
根据式3.13,频率响应B可写成
B=Bzz=ej=e-jMH
=e-jMMl=-Mhle-jl=e-jMh0 Ml=1hlejl e-jl
=e-jMh0 2Ml=1hlcosl3.16
如果L是偶整数,M=L2,式3.16的推导必须做稍微修改。式3.16表明如果hl是实值,
H=h0 2Ml=1hlcosl
是的实函数。这样B的相位和群延迟为
B=-M,H0
-M,H0; i 更新信号缓冲器
{
w[i]=w[i-1];
}
}
信号缓冲器w[ ]在每个采样周期进行更新,如图3.8所示。对于每次更新过程,在信号缓冲器中的最旧样本被丢弃掉,剩下的样本在缓冲器中向一个方向移位。最近的数据样本xn插入到顶部位置w[0]。在诸如C55xx的大多数数字信号处理器中具有循环寻址模式,在数据缓冲器中移位数据可以更替为循环缓冲器来提高效率。采用块处理技术来实现DSP算法将更为有效。对于很多实际应用,例如无线通信、语言处理和音频压缩,信号样本经常形成块或帧。通过帧而不是逐个样本处理数据的FIR滤波器称为块FIR滤波器。【例3.16】块FIR滤波函数在每次函数调用时处理一块数据样本。输入样本存在数组x[ ]中,滤波输出存在数组y[ ]。在以下C程序中,块尺寸标为blkSize:
void floatPointBlockFirfloat *x, short blkSize, float *h, short order,
float *y, float *w, short *index
{
short i,j,k;
float sum;
float *c;
k=*index;
for j=0; j15; 保存滤波器输出
if k--