本例程展示了信号处理中低通滤波的作用,首先生成一个高斯白噪声,然后对其进行低通滤波。低通滤波器的截止频率和Q值可以自己设定,得到低通滤波器的传输函数后,在经过双线性变换法得到其单位脉冲响应。滤波后对原始信号的频谱和滤波后的信号的频谱进行了对比。

%% 低通滤波器演示程序
%% 生成白噪声信号
clc;clear all; close all;
N = 1000; %采样点数
fs = N;   %采样频率
fre_base = -N/2:N/2-1;
a = randn(N,1); %生成符合高斯分布的随机噪声
F = fftshift((fft(a)))*2/N;  %对其进行快速傅里叶变换
%% 生成低通滤波器
cut_off_freq = 50;
Q = 0.625;
plot_enable_L = 1;
[Hs, H_z] = produce_LPF(cut_off_freq, Q, fs, plot_enable_L);
%% 进行低通滤波
filterd_signal = filter(H_z.num{:}, H_z.den{:}, a);
filter_sig_f = fftshift(fft(filterd_signal))*2/N;
%% 绘图
figure;
subplot(2,1,1); %绘制子图
plot(fre_base,abs(F)); %绘制频率图
xlabel('Hz');
title('原始信号频谱图');
subplot(2,1,2); %绘制子图
plot(fre_base,abs(filter_sig_f)); %绘制频率图
xlabel('Hz');
title('低通滤波后信号频谱图');

产生低通滤波器的子函数代码如下:

function [Hs, H_z] = produce_LPF(cut_off_freq, Q, fs, plot_enable_L)
%% 构造低通滤波器w0 = 2*pi*cut_off_freq;                  % 滤波器截止频率对应的角频率A=1; B=w0/Q; C=w0^2;                    % 传递函数构造因子numerator = C;                          % 传递函数的分子的矩阵表示denominator = [A B C];                  % 传递函数的分母的矩阵表示disp('二阶低通滤波器的传递函数');Hs = tf(numerator, denominator)         % 构造模拟低通滤波器传递函数H_z = c2d(Hs, 1/fs, 'tustin');          % 将滤波器的脉冲响应用双线性变换法离散化%% 绘制图形     if plot_enable_L == 1%%计算坐标,画模拟滤波器的频率特性w = logspace(1,6);                        % 产生10^1到10^4次的对数坐标hs = freqs(numerator,denominator,w);      % 滤波器的幅频、相频特性曲线mag = abs(hs);          % 取幅值 phase = angle(hs);      % 取相角f = w/(2*pi);                           % 将横坐标的单位由rad变为Hz   phase = phase*180/pi;                   % 将纵坐标的单位变为度。figure; semilogx(f, mag); grid on    xlabel('频率(Hz)'); ylabel('增益'); title('滤波器的幅频特性曲线');figure; semilogx(f, phase); grid on; xlabel('频率(Hz)'); ylabel('相位(°)'); title('滤波器的相频特性曲线');figure; impulse(Hs); grid on                    xlabel('时间'); ylabel('幅度'); title('模拟滤波器脉冲响应');figure; impz(H_z.num{:}, H_z.den{:}); grid on;     %画双线性变换后的数字滤波器的脉冲响应 xlabel('点数'); ylabel('幅度'); title('数字滤波器脉冲响应');endend

图1. 低通滤波器的幅频特性曲线

图2. 原始信号及低通滤波后的信号频谱图 由上图我们可以知道,原始信号的频谱弥漫在整个频率轴上,经过低通滤波后的信号的频谱只剩下低频的通带内,高频的分量被抑制掉了。这就是低通滤波器的作用。

低通滤波-matlab低通滤波程序相关推荐

  1. matlab平滑窗滤波,matlab实现平滑滤波

    clc;clear;close all; im=imread('p1.jpg'); im = rgb2gray(im); im=double(im); im=im/max(im(??); figure ...

  2. matlab图像处理——平滑滤波

    平滑滤波--matlab图像处理 平滑滤波的目的是消除或尽量减少噪声,改善图像的质量.假设加性噪声是随机独立分布,这样利用图像像素领域的平均或加权平均即可有效地抑制噪声干扰.从信号分析的观点来看,图像 ...

  3. matlab 对图像进行低通滤波,matlab图像处理实现低通滤波

    matlab图像处理实现低通滤波 matlab图像处理实现低通滤波 clc; clear all; img=imread('lena.jpg'); img_noise = imnoise(img, ' ...

  4. 数字图像处理 空间域高斯低通滤波 MATLAB实验

    一.原理_空间域高斯低通滤波 高斯低通滤波是一种使用的去噪滤波,可用于去除高斯噪声,且几乎没有振铃现象. 二.步骤 (1)读入原图像lena.bmp并显示: (2)对原图像分别添加高斯噪声,并显示加噪 ...

  5. matlab常见的图像增强技术(包括基于幂次变换,对图像进行均衡化处理,巴特沃斯低通,理想低通,梯形低通滤波, 均值滤波,中值滤波,最大,最小值滤波,修正后的阿尔法滤波器)

    1.基于幂次变换中的r值,比较不同r 值下图像增强的效果 代码 : I = imread('D:\图片\TH.JFIF');subplot (1,4,1);imshow(I);title('原始图像' ...

  6. 中值滤波、低通与高通滤波

    1. 中值滤波 首先给出结论,中值滤波,例如说设置窗长为5个点的均值滤波,属于低通滤波.这点很容易理解,假设窗长为无限长,原始信号就变为了直流分量,频率为0.因此,均值滤波属于低通滤波,中值滤波也是一 ...

  7. 图像 理想低通滤波_图像处理之滤波(下)

    [toc]目录 一.常规滤波 低通 高通 带通 带阻 二.非局部均值滤波 三.维纳滤波 四.卡尔曼滤波 前言 所谓滤波,其实就是从混合在一起的诸多信号中提取出所需要的信号. 信号的分类: 确定型信号, ...

  8. 【OpenCV 例程200篇】66. 图像滤波之低通/高通/带阻/带通

    [OpenCV 例程200篇]66. 图像滤波之低通/高通/带阻/带通 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 ...

  9. python源码 高通滤波、低通滤波、带通滤波

    创作不易,如果此文使您有收获,记得点赞哦! 一. 傅里叶变化原理: https://www.cnblogs.com/wojianxin/p/12529809.html 二. 高通滤波.低通滤波.带通滤 ...

  10. 级联rc滤波_RC低通,高通滤波电路的基本工作原理

    展开全部 在基本的RC滤波电路中:C做输出端就是低通滤波器,R做输出就是高通滤波器 基本原理是,当电容和电阻串联32313133353236313431303231363533e78988e69d83 ...

最新文章

  1. 部署可扩展的目标检测管道:推理过程(下)
  2. oracle9201怎么安装,Solaris10上安装64位Oracle9201
  3. python入门指南bl-Python Flask开源博客系统Bl
  4. 浙大团队研发铜基沸石纱布口罩,1分钟杀灭新冠病毒逾99%
  5. 【每周NLP论文推荐】 知识图谱重要论文介绍
  6. python数字从大到小排列_Python练习题 005:三个数字由大到小排序输出
  7. 阿里云服务器配置开发环境第五章:Centos7.3切换为iptables防火墙
  8. (DFS)n皇后问题
  9. Create React App 2.0 华丽登场
  10. Kali Linux 网络扫描秘籍 第三章 端口扫描(一)
  11. 开始用Flutter做游戏吧
  12. 嵌入式三大职业发展方向
  13. 漫天繁星构成文字情话
  14. 三只松鼠上半年营收41亿:净利降77% IDG一年套现超12亿
  15. python+matplotlib绘图线条类型、颜色、散点类型
  16. 我的音乐(Musicoco)- 本地音乐播放器开发总结
  17. DIY一个简易查询系统
  18. STC89C52定时器的简介
  19. 【C语言】do-while()循环
  20. 【课程汇总】Hello HarmonyOS系列课程,手把手带你零基础入门

热门文章

  1. Java 项目经典代码
  2. Win10如何配置数据源ODBC数据源
  3. HFSS15.0 安装破解说明
  4. bat中获取bat命令结果
  5. android 人脸识别边框_Android相机预览,指定区域显示预览框,在区域内出现人脸进行人脸识别,并抓拍人脸照片存在本地...
  6. Python设计模式:适配器模式
  7. python海龟漂亮图案代码大全_Python游戏海龟图案
  8. 【入门必备】Java数据结构详解
  9. 简单python程序代码_几个简单的python程序分享
  10. Hadoop学习(2)Eclipse配置Hadoop开发环境+HDFS Java API测试+Bug解决记录