ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【滤波器】基于matlab GUI低通+带通+高通FIR与IIR滤波器设计【含Matlab源码 360期】

【滤波器】基于matlab GUI低通+带通+高通FIR与IIR滤波器设计【含Matlab源码 360期】 欢迎来到海神之光博客之家✅博主简介热爱科研的Matlab仿真开发者修心和技术同步精进个人主页海神之光代码获取方式海神之光Matlab王者学习之路—代码获取方式⛳️座右铭行百里者半于九十。更多Matlab信号处理仿真内容点击①Matlab信号处理 进阶版②付费专栏Matlab信号处理初级版⛳️关注CSDN海神之光更多资源等你来⛄一、数字滤波器设计简介1 设计原理1.1 滤波器概念1.2 数字滤波器的系统函数和差分方程1.3 数字滤波器结构的表示1.4 数字滤波器的分类2.1 IIR滤波器与FIR滤波器的分析比较2.2 FIR滤波器的原理3 FIR滤波器的仿真步骤⛄二、部分源代码function varargout nain1(varargin)% NAIN1 MATLAB code for nain1.fig% NAIN1, by itself, creates a new NAIN1 or raises the existing% singleton*.%% H NAIN1 returns the handle to a new NAIN1 or the handle to% the existing singleton*.%% NAIN1(‘CALLBACK’,hObject,eventData,handles,…) calls the local% function named CALLBACK in NAIN1.M with the given input arguments.%% NAIN1(‘Property’,‘Value’,…) creates a new NAIN1 or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before nain1_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to nain1_OpeningFcn via varargin.%% *See GUI Options on GUIDE’s Tools menu. Choose “GUI allows only one% instance to run (singleton)”.%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help nain1% Last Modified by GUIDE v2.5 07-Jan-2020 15:57:07% Begin initialization code - DO NOT EDITgui_Singleton 1;gui_State struct(‘gui_Name’, mfilename, …‘gui_Singleton’, gui_Singleton, …‘gui_OpeningFcn’, nain1_OpeningFcn, …‘gui_OutputFcn’, nain1_OutputFcn, …‘gui_LayoutFcn’, [] , …‘gui_Callback’, []);if nargin ischar(varargin{1})gui_State.gui_Callback str2func(varargin{1});endif nargout[varargout{1:nargout}] gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% — Executes just before nain1 is made visible.function nain1_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to nain1 (see VARARGIN)% Choose default command line output for nain1handles.output hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes nain1 wait for user response (see UIRESUME)% uiwait(handles.figure1);% — Outputs from this function are returned to the command line.function varargout nain1_OutputFcn(hObject, eventdata, handles)% varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} handles.output;% — Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)Fs 1500;t 1:1/Fs:6;tt(1:5000);%写入chirp.wav文件[pyr1,fs]audioread(‘1.wav’);%声音读取pyrpyr1(1:5000);nlength(pyr);pyr1fft(pyr,n); %快速傅里叶变换fFs*(0:n/2 - 1)/n;noise10.1sin(20pit);%低频噪声x1pyrnoise1;%加低频噪声信号nlength(t); %画出加噪之后其时域频域Sabs(fft(pyr));%原始信号傅里叶变换y1abs(fft(x1));%原始信号傅里叶变换handles.axes1;subplot(121);plot(pyr);xlabel(‘时间’);ylabel(‘幅度’);title(‘原始信号波形’); %绘出时域波subplot(122)plot(S((1:length(S)/2)));xlabel(‘频率’);ylabel(‘幅度’);title(‘原始信号频谱’);%% IIR频率变换法%% 双线性变换法% 2.1低通Rp3;%通带最大衰减dBRs10;%阻带最小衰减dBWp1000;%通带截止频率Ws1200;%阻带截止频率[N,wn]buttord(Wp,Ws,Rp,Rs,‘s’);[b,a,k]buttap(N);[A,B,C,D]zp2ss(b,a,k);[A,B,C,D]lp2lp(A,B,C,D,wn);%type‘底通’;[b,a]ss2tf(A,B,C,D);[b21,a21]bilinear(b,a,Fs);[h21,w21]freqz(b21,a21); %根据参数求出频率响应x21filter(b21,a21,x1); % 进行低通滤波y21abs(fft(x21)); % 对滤波后信号做len点FFT变换%2.3 切比雪夫I型滤波器 高通Rp22;%通带最大衰减dBRs220;%阻带最小衰减dBWp23000;%通带截止频率Ws23200;%阻带截止频率[N,wn]cheb1ord(Wp2,Ws2,Rp2,Rs2,‘s’);%求模拟的低通滤波器阶数和截止频率[b,a,k]cheb1ap(N,Rp2); %求S域的频率响应的参数[A,B,C,D]zp2ss(b,a,k);%阻带截止频率[A,B,C,D]lp2hp(A,B,C,D,wn);%type‘高通’;[b,a]ss2tf(A,B,C,D);%状态方程向传递函数转变[b23,a23]bilinear(b,a,Fs);%利用双线性变换实现S域到Z域转换[h23,w23]freqz(b23,a23);x23filter(b23,a23,x1); % 进行稿通滤波y23abs(fft(x23)); % 对滤波后信号做len点FFT变换% 带通滤波器Rp31;Rs3100;Wp11200;Ws11000;Wp23000;Ws23200;Wp3[Wp1,Wp2];Ws3[Ws1,Ws2];%wp和ws分别是通带和阻带的频率(截止频率)。当wp和ws为二元矢量时为带通或带阻滤波器这时求出的Wn也是二元矢量当wp和ws为一元矢量时为低通或高通滤波器当wpws时为低通滤波器当wpws时为高通滤波器。%wp和ws为二元矢量Wp3[1200 3000]; %设置通带频率Ws3[1000 3200]; %设置阻带频率Rp31; %设置通带波纹系数Rs320; %设置阻带波纹系数[N,wn]buttord(Wp3,Ws3,Rp3,Rs3,‘s’);[b,a,k]buttap(N);[A,B,C,D]zp2ss(b,a,k);WnWp2-Wp1;Wosqrt(Wp2Wp1);[A,B,C,D]lp2bp(A,B,C,D,Wo,Wn);% type‘带通’;[num22,den22]ss2tf(A,B,C,D);% [b,a]impinvar(num23,den23,Fs);[b22,a22]bilinear(num22,den22,Fs);%双线性变换实现S域到Z域的转换[h22,w22]freqz(b22,a22); %根据参数求出频率响应x22filter(b22,a22,x1); % 进行低通滤波y22abs(fft(x22)); % 对滤波后信号做len点FFT变换%% FIR窗函数% 3.1 低通滤波器%该函数采用hanning窗实现低通滤波fp1000;%通带截止频率fs2000;%阻带起始频率FS8000;wp2pifp/FS;%将模拟通带截止频率转换为数字滤波器频率ws2pifs/FS;%将模拟阻带起始频率转换为数字滤波器频率wn(wpws)/2/pi;%标准化的截止频率响应Btws-wp;N0ceil(6.2*pi/Bt);%滤波器长度NN0mod(N01,2);%设计加窗函数fir1[b31,a31]fir1(N-1,wn,hanning(N));[h31,w31]freqz(b31,a31,FS); %得到频率响应x31filter(b31,a31,x1); % 进行低通滤波y31abs(fft(x31)); % 对滤波后信号做len点FFT变换% 3.2 通带滤波Fs8000;fp11200;%通带下限截止频率fp23000;%通带上限截止频率fs11000;fs23200;wp12pifp1/Fs;%将通带下限截止频率转换为数字滤波器频率wp22pifp2/Fs;%将通带上限截止频率转换为数字滤波器频率ws12pifs1/Fs;%将通带下限截止频率转换为数字滤波器频率ws22pifs2/Fs;%将通带上限截止频率转换为数字滤波器频率Btwp1-ws1;N0ceil(6.2*pi/Bt);NN0mod(N01,2);wn[(wp1ws1)/2/pi,(wp2ws2)/2/pi];%设计加窗函数fir1[b32,a32]fir1(N-1,wn,‘bandpass’,hanning(N));%求滤波器的幅频响应[h32,w32]freqz(b32,a32,FS);x32filter(b32,a32,x1);y32abs(fft(x32)); % 对滤波后信号做len点FFT变换⛄三、运行结果⛄四、matlab版本及参考文献1 matlab版本2014a2 参考文献[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社2015.[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社2020.[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社2018.3 备注简介此部分摘自互联网仅供参考若侵权联系删除 仿真咨询1 各类智能优化算法改进及应用生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化2 机器学习和深度学习方面卷积神经网络CNN、LSTM、支持向量机SVM、最小二乘支持向量机LSSVM、极限学习机ELM、核极限学习机KELM、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断3 图像处理方面图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知4 路径规划方面旅行商问题TSP、车辆路径问题VRP、MVRP、CVRP、VRPTW等、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化5 无人机应用方面无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配6 无线传感器定位及布局方面传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化7 信号处理方面信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化8 电力系统方面微电网优化、无功优化、配电网重构、储能配置9 元胞自动机方面交通流 人群疏散 病毒扩散 晶体生长10 雷达方面卡尔曼滤波跟踪、航迹关联、航迹融合
返回列表