MATLAB:巴特沃斯低通滤波器过滤信号
MATLAB:巴特沃斯低通滤波器过滤信号
实验内容产生两个不同频率的正弦信号,设计合适的滤波器,输出其中的一个信号,滤除另外的一个信号。
代码:
%生成两个不同频率的信号
clc;
T=2;%时域长度
fs=10000;%抽样频率1KHz
T1=1/fs;%时域两相邻点之间的采样时间距离
n=0:T1:T-1;%在T时间段的采样点数
f1=200;%信号1的频率20HZ
f2=9000;%信号2的频率100HZ
x1=cos(f1*2*pi*n);%信号1
x2=cos(f2*2*pi*n);%信号2
x3=cos(f1*2*pi*n)+cos(f2*2*pi*n);%信号叠加
xk1=fft(x3);
magxk1=abs(xk1);
figure
subplot(211);plot(n,x1);axis([ 0 1 -2 2]);%信号1图像
xlabel('n');ylabel('x1(n)');title('x1(n)');grid on;
subplot(212);plot(n,x2);%信号2图像
xlabel('n');ylabel('x2(n)');title('x2(n)');grid on;
figure
subplot(211);plot(n,x3);%叠加信号图像
xlabel('n');ylabel('x3(n)');title('叠加信号x3(n)');grid on;
subplot(212);plot(n*10000,magxk1);%叠加信号频谱幅度
xlabel('f/Hz');ylabel('magxk1(n)');title('叠加信号magxk1(n)');grid on;%巴特沃斯低通滤波器过滤信号,wp<ws为低通滤波器
fp=500;%数字滤波器的参数
ft=700;
Fs=5000; %设置抽样频率5KHz
wp=fp/(Fs/2);%奈奎斯特频率归一 %设置通带频率
ws=ft/(Fs/2); %设置阻带频率
Rp=1; %设置通带波纹系数
Rs=25; %设置阻带波纹系数
[N,Wc]=buttord(wp,ws,Rp,Rs);%N代表满足设计要求的滤波器最小阶数,Wc是等效低通滤波器截止频率
fprintf('巴特沃斯滤波器 N= %4d\n',N); %显示滤波器阶数
[bb,ab]=butter(N,Wc); %求巴特沃斯滤波器系数,即求传输函数的分子和分母的系数向量
[Hb,wb]=freqz(bb,ab); %求巴特沃斯滤波器频率响应
figure
plot(wb*Fs/(2*pi), 20*log10(abs(Hb)),'b'); %巴特沃斯滤波器图形
axis([0 1000 -30 2]);
title('巴特沃斯数字低通幅度响应/dB');
xlabel('f/Hz');ylabel('幅值/dB');
line([0 max(wb*Fs/(2*pi))],[-25 -25],'color','k','linestyle','--');
line([0 max(wb*Fs/(2*pi))],[-1 -1],'color','k','linestyle','--');
line([500 500],[-30 2],'color','k','linestyle','--');
line([700 700],[-30 2],'color','k','linestyle','--');
grid onx4=filter(bb,ab,x1);%使用filter函数对信号进行滤波
%参数分别为滤波器系统函数的分子和分母多项式系数向量和待滤波信号输入
xk2=fft(x4);
magxk2=abs(xk2);
figure
subplot(211);plot(n,x4);% axis([ 0 4 -2 2]);
xlabel('n');ylabel('x4(n)');title('滤波后信号时域图像x4(n)');grid on;
subplot(212);plot(n*10000,magxk2);%axis([ 0 100 0 2000]);
xlabel('f/Hz');ylabel('magxk2(n)');title('滤波后信号时域图像magxk2(n)');grid on;
图形:
MATLAB:巴特沃斯低通滤波器过滤信号相关推荐
- 用matlab做巴特沃斯低通滤波器
用matlab做巴特沃斯低通滤波器 趁着暑假,做一个心电图的matlab实验,遇到了滤波器问题,网上代码比较杂乱,做了一个汇总整理. 主要做了一个简单的低通滤波器并以三角函数为例子进行低通滤波. 基本 ...
- 数字信号处理|Matlab设计巴特沃斯低通滤波器(冲激响应不变法和双线性变换法)
一.前言 1. 设计流程 2.系统频率响应 2.1频响图 系统函数 H 是一个复数,其图谱分为:幅度谱.相位谱 幅度谱 x轴:模拟频率f(数字频率w转化来)[单位:赫兹Hz] y轴:|H1|幅度[一般 ...
- 巴特沃斯低通滤波器归一化matlab,基于MATLAB设计巴特沃斯低通滤波器
<基于MATLAB设计巴特沃斯低通滤波器>由会员分享,可在线阅读,更多相关<基于MATLAB设计巴特沃斯低通滤波器(6页珍藏版)>请在人人文库网上搜索. 1.基于MATLAB设 ...
- 使用matlab设计IIR巴特沃斯低通滤波器
目的和要求 设计IIR巴特沃斯低通滤波器 将滤波器用于加噪声信号的处理 改变参数指标比较不同 实验结果与分析 (1)滤波器频率特性如图 输入信号特性如图: 经过滤波器之后信号特性如图: (2)改变指标 ...
- 通过matlab编程,对以下图像分别添加高斯噪声和椒盐噪声(参数自定),并使用理想低通滤波器、高斯低通滤波器和巴特沃斯低通滤波器进行去噪。
添加高斯噪声和椒盐噪声,并用理想低通滤波器进行去噪 t=imread('C:\Users\Administrator\Desktop\123.jpg'); subplot(3,2,1) imshow( ...
- 四旋翼惯导融合之观测传感器滞后问题汇总与巴特沃斯低通滤波器设计(气压计MS5611、GPS模块M8N、超声波、PX4FLOW等)
前文讲到APM的三阶互补方案,之前附的图是从学长博客里面抠的,感觉还不是很详细,于是自己就画了下,顺便重新理一下思路. 上图中下标为O的表示原始量(Origion),C表示矫正后的量(Correcti ...
- 【OpenCV 例程200篇】82. 频率域巴特沃斯低通滤波器
[OpenCV 例程200篇]82. 频率域巴特沃斯低通滤波器 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 3.4 ...
- matlab 巴特沃斯滤波
低通滤波 fs=30; %采样频率 N=300; %N/fs 秒数据 n=0:N-1; t=n/fs; %时间if 0 fl = 0.4; %低频 fh = 5; %高频 s=cos(2*pi*fl* ...
- MATLAB巴特沃斯滤波器C语言离散实现
matlab创建一个4阶巴特沃斯低通滤波器代码: clc clear % Digits =8; fs=40960; lpf=8000; f=8000; t=0:1/fs:0.1-1/fs; x=cos ...
最新文章
- Linux的文件管理命令
- Openwrt MiniDLNA 安装方法及 其需要的依赖关系
- 纪实:西藏少数民族儿童的“悲苦童年”(组图)
- linux应用程序接收文件,Linux应用程序学习之文件编程
- java安全——类加载器+字节码校验+安全管理器与访问权限
- Struts1中execute实现过滤控制
- Python+tensorflow计算整数阶乘的方法与局限性
- WebCollector
- Raki的读paper小记:WaveTransformer: A Novel Architecture for Audio Captioning
- 【JavaSE】黑马程序员 刘意 基础部分笔记
- aspose-cad dwg转pdf dwg转png dwg转svg
- NumberOptional:一个字符串转数字的工具
- 计算机视觉/图像处理领域相关研究机构梳理
- 百度程序员开发避坑指南(前端篇)
- xcode run跑项目或者Archive打包项目的时候显示Build Succeeded一闪而过但是程序无反应问题解决
- 华为S5700交换机升级记录
- python对数正态分布函数_将对数正态分布的拟合PDF缩放到python中的histrogram
- RSA 中根据 (N, e, d) 求 (p, q)
- elementUI 表格合并单元格-多层级-合并行
- Win11打不开安全中心怎么解决