0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何进行滤波器比较程序设计及函数编写的详细资料概述

通信工程师专辑 来源:未知 作者:易水寒 2018-07-09 10:37 次阅读

给出课程第二章的程序示例,供大家学习。

%%%%% 信号滤波前后频谱特性比较程序 %%%%%%%

%%%%% File: signal_fliter_sim2.m %%%%%

%%% date: 2016-10-24 author: 算法工匠 %%%

%%% 程序说明

% 本程序完成多种滤波器设计以及滤波的等效实现过程。

% 比较滤波器的两种设计方法的差异。

clear all;

close all;

%%************ 程序主体 *****************%%

format long;

%************* Preparation part *******************

fs = 2000; % frequency sample

fre1 = 10; % Hz

fre2 = 500; % Hz

time = [1:1000];

%%%%%% 信号的产生 %%%%%%%%%%

%***************** Filter initialization ************************

sin_signal1 = sin(2*pi*fre1.*time/fs);

% 产生正弦信号1

sin_signal2 = sin(2*pi*fre2.*time/fs);

% 产生正弦信号2

sin_signal = sin_signal1 + sin_signal2;

figure(1)

plot((sin_signal),'-*');

figure(2)

plot(abs(fft(sin_signal)),'-*');

aaa = 1; % 断点调试

%%%%% 滤波器设计 %%%%%

% 设计一个低通的FIR滤波器,能够滤除900hz信号。

fir_order = 128;

fir_low_filter = fir1(fir_order,0.2); % 窗函数法

% fir_low_filter = fir1(fir_order, 0.2);

fir_low_filter1 = fir1(fir_order,0.2,'low',chebwin(129,100));

% 窗函数法 使用切比雪夫窗 100为带外抑制dB值

fre = [0 0.2 0.3 1];

amp = [1 1 0 0];

fir_low_filter2 = firpm(fir_order,fre,amp);

% 最佳逼近法

figure(3)

freqz(fir_low_filter );

figure(4)

freqz(fir_low_filter1 );

title('使用切比雪夫窗函数');

figure(5)

freqz(fir_low_filter2 );

title('使用最佳逼近法设计');

aaa = 1; % 断点调试

% 实现滤波

% filter signal

filter_sin_signal = filter(fir_low_filter,1,sin_signal); % 实现滤波

for i = 5:length(sin_signal)

filter_sin_signal1(i) = sin_signal(i)*fir_low_filter(1) + sin_signal(i-1)*fir_low_filter(2) +sin_signal(i-2)*fir_low_filter(3) +sin_signal(i-3)*fir_low_filter(4) +sin_signal(i-4)*fir_low_filter(5) ;

end

figure(6)

plot(abs(fft(filter_sin_signal)),'-*');

figure(7)

plot(filter_sin_signal1,'-*');

figure(8)

plot(filter_sin_signal,'-*');

aaa = 1; % 断点调试

%**************** end of file **********************

%%% 结论

% 使用不同的窗来设计滤波器进行性能比较。

% 比较不同的滤波器设计方法带来的差异。

% 了解滤波的等效过程,分解为乘累加的过程。

休息一下!

201801记录:

本来已经写完了本篇系列文章,但公众号里面显示的格式不正确。虽然后台显示程序格式很工整,所以还是决定用图片的方式来再次展示程序!

因此,将程序转换为图片后,同学们就能在电脑或者手机上看到工整的程序了。

如何进行滤波器比较程序设计及函数编写的详细资料概述

如何进行滤波器比较程序设计及函数编写的详细资料概述

如何进行滤波器比较程序设计及函数编写的详细资料概述

如何进行滤波器比较程序设计及函数编写的详细资料概述

如何进行滤波器比较程序设计及函数编写的详细资料概述

程序中的断点调试语句很有用,能够帮助大家查找和定位程序的问题。

此时,

同学们还掌握了窗函数法吗?

最佳逼近法呢?

如果还不清楚,

请即刻去百度问问!

仿真课程目的就是为了将学到的知识用于实际,用仿真的方式能够强化知识点的消化。希望大家能够自己动手写一遍程序。

请谨记!

动手写一遍,

调试一下!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 滤波器
    +关注

    关注

    158

    文章

    7286

    浏览量

    174569
  • 程序
    +关注

    关注

    113

    文章

    3628

    浏览量

    79420
  • 断点
    +关注

    关注

    0

    文章

    11

    浏览量

    7651

原文标题:数字信号处理之信号处理仿真 第二章 滤波器设计及函数编写(2)

文章出处:【微信号:gh_30373fc74387,微信公众号:通信工程师专辑】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    编写滤波器函数

    本文档内容介绍了基于编写滤波器函数,及源代码,供参考
    发表于 04-13 15:51 16次下载

    单片机C语言程序设计的20例基础程序设计详细资料概述

    本文档介绍的主要内容是20例基于单片机C语言的基础程序设计详细资料概述
    发表于 06-08 08:00 85次下载
    单片机C语言<b class='flag-5'>程序设计</b>的20例基础<b class='flag-5'>程序设计</b><b class='flag-5'>详细资料</b><b class='flag-5'>概述</b>

    基于STM32单片机的生日快乐音频播放程序设计详细资料概述

    本文的主要内容介绍的是基于STM32的生日快乐播放程序设计详细资料概述
    发表于 06-07 08:00 27次下载

    C++语言入门教程之C++语言程序设计函数详细资料概述免费下载

    本文档的主要内容详细介绍的是C++语言入门教程之C++语言程序设计函数详细资料概述免费下载内容包括了:1
    发表于 09-20 14:51 23次下载

    51单片机教程之MCS51单片机C程序设计详细资料概述

    本文档的主要内容详细介绍的是51单片机教程之MCS51单片机C程序设计详细资料概述内容包括了:1 汇编语言与C语言比较2 Cx51与标准C
    发表于 10-24 16:22 11次下载
    51单片机教程之MCS51单片机C<b class='flag-5'>程序设计</b>的<b class='flag-5'>详细资料</b><b class='flag-5'>概述</b>

    C语言实例教程之如何进行简单的程序设计详细资料免费下载

    本文档的主要内容详细介绍的是C语言实例教程之如何进行简单的程序设计详细资料免费下载主要内容包括了:1 顺序结构程序设计的概念2 赋值语句3
    发表于 10-26 16:48 13次下载

    C语言教程之如何选择结构程序设计详细资料概述

    本文档的主要内容详细介绍的是C语言教程之如何选择结构程序设计详细资料概述
    发表于 11-02 10:53 3次下载
    C语言教程之如何选择结构<b class='flag-5'>程序设计</b>的<b class='flag-5'>详细资料</b><b class='flag-5'>概述</b>

    C语言程序设计教程之C语言基础的详细资料概述

    本文档的主要内容详细介绍的是C语言程序设计教程之C语言基础的详细资料概述
    发表于 12-10 17:16 65次下载
    C语言<b class='flag-5'>程序设计</b>教程之C语言基础的<b class='flag-5'>详细资料</b><b class='flag-5'>概述</b>

    C语言程序设计教程之如何进行函数与编译预处理资料概述

    本文档的主要内容详细介绍的是C语言程序设计教程之如何进行函数与编译预处理资料概述主要内容包括了:
    发表于 12-10 17:16 4次下载
    C语言<b class='flag-5'>程序设计</b>教程之如<b class='flag-5'>何进行</b><b class='flag-5'>函数</b>与编译预处理<b class='flag-5'>资料</b><b class='flag-5'>概述</b>

    C++程序设计教程之函数机制的详细资料说明

    本文档详细介绍的是C++程序设计教程之函数机制的详细资料说明主要内容包括了: 1.函数性质( Function Character ) ,
    发表于 02-22 11:24 2次下载
    C++<b class='flag-5'>程序设计</b>教程之<b class='flag-5'>函数</b>机制的<b class='flag-5'>详细资料</b>说明

    C语言程序设计教程课件之函数详细资料说明

    本文档详细介绍的是C语言程序设计教程课件之函数详细资料说明主要内容包括了:1.概述,2.函数
    发表于 02-28 10:35 3次下载
    C语言<b class='flag-5'>程序设计</b>教程课件之<b class='flag-5'>函数</b>的<b class='flag-5'>详细资料</b>说明

    C++程序设计教程之基于对象的程序设计详细资料说明

    本文档详细介绍的是C++程序设计教程之基于对象的程序设计详细资料说明主要内容包括了:1. 面向对象程序设计方法
    发表于 03-14 16:04 5次下载
    C++<b class='flag-5'>程序设计</b>教程之基于对象的<b class='flag-5'>程序设计</b>的<b class='flag-5'>详细资料</b>说明

    C++程序设计教程之多态性与虚函数详细资料说明

    本文档详细介绍的是C++程序设计教程之多态性与虚函数详细资料说明主要资料包括了:1 多态性的概念,2 一个典型的例子,3 虚
    发表于 03-14 16:39 5次下载
    C++<b class='flag-5'>程序设计</b>教程之多态性与虚<b class='flag-5'>函数</b>的<b class='flag-5'>详细资料</b>说明

    何进行PLC控制程序的设计详细资料PPT说明

    本文档的主要内容详细介绍的是如何进行PLC控制程序的设计详细资料PPT说明
    的头像 发表于 07-28 09:47 5294次阅读

    python的内置函数详细资料概述

    本文档的主要内容详细介绍的是python的内置函数详细资料概述
    发表于 11-18 08:00 0次下载