DSP的FIR设计(低通滤波)C语言编写文档推荐

上传人:粗**** 文档编号:135282040 上传时间:2020-06-14 格式:PDF 页数:13 大小:1.10MB
返回 下载 相关 举报
DSP的FIR设计(低通滤波)C语言编写文档推荐_第1页
第1页 / 共13页
DSP的FIR设计(低通滤波)C语言编写文档推荐_第2页
第2页 / 共13页
DSP的FIR设计(低通滤波)C语言编写文档推荐_第3页
第3页 / 共13页
DSP的FIR设计(低通滤波)C语言编写文档推荐_第4页
第4页 / 共13页
DSP的FIR设计(低通滤波)C语言编写文档推荐_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《DSP的FIR设计(低通滤波)C语言编写文档推荐》由会员分享,可在线阅读,更多相关《DSP的FIR设计(低通滤波)C语言编写文档推荐(13页珍藏版)》请在金锄头文库上搜索。

1、一 设计目的 低通滤波器设计 本设计中使用的信号为 信息信号 signal sin 2 pi sl n T 高频噪声 1 noise1 sin 2 pi ns1 n T 高频噪声 2 noise2 sin 2 pi ns2 n T 混合信号 x signal noise1 noise2 其中 sl 500Hz ns1 3000Hz ns2 8000Hz T 1 20000 混合信号波形为滤波器 输入信号波形 信息信号波形为输出信号波形 滤波器的效果为滤除两个高频噪 声 FIR滤波器基本理论 1 FIR滤波器的特点 数字滤波器的功能 就是把输入序列通过一定的运算变换成输出序列 它的实现 方法有很

2、多 其中比较常用到的是无限长脉冲响应滤波器IIR和有限长脉冲响应 滤波器 FIR两种 在计算量相等的情况下 IIR数字滤波器比 FIR滤波器的幅频特性优越 频率选择 性也好 但是 它有着致命的缺点 其相位特性不好控制 它的相位特性 argH f j e是使频率产生严重的非线性的原因 但是在图像处理 数据传 输等波形传递系统中都越来越多的要求信道具有线性的相位特性 在这方面FIR 滤波器具有它独特的优点 设FIR滤波器单位脉冲响应h n 长度为 N 其系统函 数 H z 为 1 0 N n n znhzH H z 是 1 z的 N 1 次多项式 它在 z 平面上有 N 1 个零点 原点 z 0

3、是 N 1 阶重极 点 因此 H z 永远稳定 它可以在幅度特性随意设计的同时 保证精确 严格 的线性相位 2 FIR滤波器的基本结构 数字滤波是将输入的信号序列 按规定的算法进行处理 从而得到所期望的输出 序列 FIR滤波器的差分方程为 1 0 N k k knxany 对上式进行 Z变换得到 FIR滤波器的传递函数为 1 0 N i k kz b zX zY zH 由上式可以看出 H z 是 1 z的 N 1 次多项式 它在 z 平面内有 N 1 个零点 同时 在原点处有 N 1 个重极点 N 阶滤波器通常采用N 个延迟单元 N 个加法器与 N 1个乘法器 取图中 a b 两种结构 图 F

4、IR滤波器的一般结构 因为 FIR滤波器的单位抽样响应是有限长的 所以它永远是稳定的 另外 若对 h n 提出一些约束条件 那么可以很容易地使H z 具有线性相位 这在信号处理 的很多领域是非常重要的 FIR滤波器的设计任务 是要决定一个转移函数H z 使它的频率响应满足给定的要求 这里所说的要求 除了通带频率 p 阻带频 率及两个带上的最大和最小衰减 p 和 s外 很重要的一条是保证 H z 具有线性 相位 3 Chebyshev 逼近法 窗函数法和频率采样法设计出的滤波器的频率特性都是在不同意义上对所给理 想频率特性 jw d eH的逼近 由数值逼近理论可知 对某个函数 f x 的逼近一般

5、有 以下三种方法 插值法 Interpolating Way 最小平方逼近法 Least Square Approaching Way 一致逼近法 Consistent Approaching Way 切比雪夫最佳一致逼近的基本思想是 对于给定区间 a b 上的连续函数xf 在所有 n 次多项式的集合 n中 寻找一个多项式 p x 使它在 a b 上对xf的 偏差和其它一切属于 n的多项式 p x 对 f x 的偏差相比是最小的 即 xfxpxfxpmaxmin max 切比雪夫逼近理论 这样的多项式是存在的 且是唯一的 并指出了构造这种最 佳一致逼近多项式的方法 就是有名的 交错点组定理 切

6、比雪夫逼近理论解决了p x 的存在性 唯一性和如何构造等问题 等人 应用切比雪夫逼近理论提出了一种设计FIR滤波器的计算机辅助算法 这种算法 由于是在一致意义上对 jw d eH作最佳逼近 因而获得了较好的通带和阻带性能 并能准确地指定通带和阻带的边缘 但它的效率依赖于初始极值频率点的估计 且通带和阻带内波纹数较多 这是Chebyshev方法的两个主要缺点 三 FIR滤波器的 MATLAB实现 MATLAB辅助 DSP 实现 FIR 其总体过程为在DSP中编写处理程序 在MATLAB 中利用滤波器设计 分析工具 FDATOOL 根据指定的滤波器性能快速设计一个 FIR 再把滤波器系数以头文件形

7、式导入CCS 中 头文件中 MATLAB 辅助 DSP 实现 FIR 数字滤波器含滤波器阶数和系数数组 在 MATLAB中调试 运行 DSP 程序并 显示 分析处理后的数据 使用该方法 便于采用汇编语言来实现程序 头文件 名不变 当 MATLAB中设计的滤波器系数改变时 相应头文件中系数也改变 方便程 序调试 仿真 1 输入信号的产生 首先利用 Matlab 产生导入 CCS 的 dat 文件 具体实现如下代码所示 sl 500 有效信号 ns1 3000 高频噪声 ns2 8000 高频噪声 fs 20000 采样频率 N 1000 T 1 fs n 0 N signal sin 2 pi

8、sl n T noise1 sin 2 pi ns1 n T noise2 sin 2 pi ns2 n T x signal noise1 noise2 待滤波信号 figure 1 plot x figure 2 y abs fft x 待滤波频谱 df n fs N plot df y figure 3 plot signal figure 4 ysignal abs fft signal 滤波后频谱 df n fs N plot df ysignal 滤波数据导出 xout x max x 归一化 xto css round 32767 xout 数据取整 xoutcss xto cs

9、s fid fopen w 打开文件 fprintf fid 1651 1 0 0 0 n 输出文件头 fprintf fid d n xoutcss 输出 fclose fid 产生的时域波形如图所示 020040060080010001200 2 1 5 1 0 5 0 0 5 1 1 5 2 图 输入信号波形 频谱如图所示 00 20 40 60 811 21 41 61 82 x 10 4 0 50 100 150 200 250 300 350 400 450 500 图 输入频谱 经过滤波器后的预期时域波形如图 020040060080010001200 1 0 8 0 6 0 4 0 2 0 0 2 0 4 0 6 0 8 1 图 输出时域波形 频谱如图所示 00 20 40 60 811 21 41 61 82 x 10 4 0 50 100 150 200 250 300 350 400 450 500 图 输出频谱 滤波器的设计 MATLAB集成了一套功能强大的滤波器设计工具FDATool Filter Design 图硬件工程 然后编译 导入数据和运行程序 观察输入输出波形如图 观察输入输出时域和频域的波形 可以发现滤波器达到滤波效果 而且和软件仿 真效果差异不大 从而也可以发现采用C编写的程序通用性较好

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号