Fs = 1000; % 采样频率
N = 1024; % 采样点数 ,即实际中一次FFT变换所使用的点数
n = 0:N-1; % 采样序列,为plot绘图用的序列,其对应点表示的真实频率为 f = f = n*(Fs/N),Fs/N,是频率分辨率,其中0 <= N < max(N)/2-1
f = (-N/2:N/2-1)*Fs/N;%真实频率序列,真实频率从(-N/2~(N/2)-1)*(Fs/N)
t = 0:1/Fs:(N/Fs)-1/Fs; % 时间序列

x = 2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*200*t+pi*90/180) ; %原始信号序列

subplot(2,2,1);%绘图 2行2列的第个1框
plot(t,x);%plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。
grid on;
xlabel('t');
ylabel('y');
title('原始信号');

y = fft(x,N); %对原始信号做N点FFT变换
z = fftshift(y);%对fft结果进行转换,将频率移动的正确的位置
M = abs(z);

subplot(2,2,2);%绘图 2行1列的第2个框
plot(f,M);
grid on;
xlabel('Hz');
ylabel('幅度');%FFT变换后幅度值为原始信号对应频率的幅值*Fs
title('原始信号FFT');

b = fir1(28,0.25);%更多用法查fir1函数说明。fir1(n,Wn),默认选用哈明窗,n是滤波器阶数,Wn是一个归一化频率,在滤波器设计中是用fs/2进行归一。在fir1滤波器设计时采用的是归一化频率。实际采样频率为fs,实际的截止频率为fc,设归一化截止频率为fcm,fcm=fc/(fs/2)。
fir_output = filter(b,1,x);

subplot(2,2,3);%绘图 2行1列的第3个框
plot(t,fir_output);
grid on;
xlabel('t');
ylabel('y');
title('FIR滤波后信号(截止频率为 125 Hz)');

y2 = fft(fir_output,N); %对原始信号做N点FFT变换
z2 = fftshift(y2);%对fft结果进行转换,将频率移动的正确的位置
M2 = abs(z2);

subplot(2,2,4);%绘图 2行1列的第4个框
plot(f,M2);
grid on;
xlabel('Hz');
ylabel('幅度');
title('FIR滤波后信号FFT');

FIR滤波器实例的更多相关文章

  1. IIR滤波器和FIR滤波器的区别与联系zz

      -------------------------------------------------------------------------------------------------- ...

  2. 数字信号处理实验(六)——FIR滤波器的设计

    一.四种线性相位FIR滤波器的振幅响应 1.自编函数 [Hr,w,a,L]=-n) [Hr,w,a,L]=-n) [Hr,w,a,L]=-n) [Hr,w,a,L]=-n) 2.一个demo clea ...

  3. FIR滤波器(1)- 基础知识

    FIR滤波器广泛应用于数字信号处理中,主要功能就是将不感兴趣的信号滤除,留下有用信号.FIR滤波器是全零点结构,系统永远稳定:并且具有线性相位的特征,在有效频率范围内所有信号相位上不失真.在无线通信收 ...

  4. FIR滤波器设计

    FIR滤波器的优越性: 相位对应为严格的线性,不存在延迟失真,仅仅有固定的时间延迟: 因为不存在稳定性问题,设计相对简单: 仅仅包括实数算法,不涉及复数算法,不须要递推运算,长度为M,阶数为M-1,计 ...

  5. CIC and Fir 滤波器的级联

    在FDATool中 CIC 和 Fir 级联滤波器的设计 1 设计CIC滤波器的幅频特性曲线如下 2.设计FIR 滤波器的幅频特性曲线如下 3.总的特性曲线如下 4.把通带部分放大后的图,比较平坦

  6. FIR滤波器的实现方法(转)

    源:http://blog.sina.com.cn/s/blog_493520900102uy26.html 内容来自于上篇博文,第七章,FIR滤波器 http://blog.sina.com.cn/ ...

  7. 使用MATLAB设计FIR滤波器

    1.      采用fir1函数设计,fir1函数可以设计低通.带通.高通.带阻等多种类型的具有严格线性相位特性的FIR滤波器.语法形式: b = fir1(n, wn) b = fir1(n, wn ...

  8. 转载论文关于fir滤波器的fpga实现

    摘 要 本文讨论的FIR滤波器因其具有严格的线性相位特性而得到广泛的应用.在工程实践中,往往要求信号处理具有实时性和灵活性,本论文研究FIR的FPGA解决方案正体现了电子系统的微型化和单片化. 本论文 ...

  9. FIR滤波器的FPGA实现方法

    FIR滤波器的FPGA实现方法 2011-02-21 23:34:15   来源:互联网    非常重要的基本单元.近年来,由于FPGA具有高速度.高集成度和高可靠性的特点而得到快速发展.随着现代数字 ...

随机推荐

  1. 4 Dockerfile指令详解 && COPY 指令

    COPY 指令将从构建上下文目录中 <源路径> 的文件/目录复制到新的一层的镜像内的 <目标路径> 位置.比如: COPY package.json /usr/src/app/ ...

  2. [UOJ 0034] 多项式乘法

    #34. 多项式乘法 统计 描述 提交 自定义测试 这是一道模板题. 给你两个多项式,请输出乘起来后的多项式. 输入格式 第一行两个整数 nn 和 mm,分别表示两个多项式的次数. 第二行 n+1n+ ...

  3. [T-ARA][그녀를 보면][看着那个女人的话]

    歌词来源:http://music.163.com/#/song?id=29343995 作曲 : 코난 [作曲 : Ko-nan] 作词 : 코난/로코 [作词 : Ko-nan-/lo-Ko] b ...

  4. struts2(2.0.x到2.1.2版本)的核心和工作原理(转)

    在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计.在这儿MVC模式的好处就 ...

  5. 在Django中使用Q()对象

    转载于:  http://www.smallerpig.com/1000.html 问题 一般我们在Django程序中查询数据库操作都是在QuerySet里进行进行,例如下面代码: >>& ...

  6. Java并发基础概念

    Java并发基础概念 线程和进程 线程和进程都能实现并发,在java编程领域,线程是实现并发的主要方式 每个进程都有独立的运行环境,内存空间.进程的通信需要通过,pipline或者socket 线程共 ...

  7. ubuntu配置telnet服务

    1.安装xinetd 以及telnetd #:~$ sudo apt-get install xinetd telnetd 2.配置文件(若文件不存在就手动添加文件和相应配置信息) 1): #:~$ ...

  8. 修改jupyter notebook的默认路径

    我的系统环境是win10,安装了anaconda3 for python 3.6.6首先需要配置notebook的变量环境:打开 cmd 输入命令 jupyter notebook --generat ...

  9. first-child伪类选择器

    原文链接地址:https://www.cnblogs.com/wangmeijian/p/4562304.html :first-child 选择器用于选取属于其父元素的首个子元素的指定选择器.——w ...

  10. iOS 根据url生成二维码贴到底图上

    根据url 生成指定尺寸的二维码图片 UIImage * createBinaryCodeImg(const char * url ,CGFloat size) { //create binary c ...