选频滤波器 matlab,MATLAB低通滤波器选频实现
%频率不同的三个正弦波信号相加,分别输出时域波形和频域频谱three_cos.m
%设计低通滤波器,改变低通滤波器截止频率,输出不同波形
%1.波形产生程序three_cos(t);
%2.傅里叶正变换[f, sf]=FFT_SHIFT(t, st);
%3.傅里叶反变换[t,st]=IFFT_SHIFT(f,Sf);
%4.低通滤波器[t,st]=RECT_LPF(f,Sf,B);
% Signal
dt=0.01; %时间采样间隔
T=5; %信号持续时间
N=floor(T/dt); %点数
t=[0:N-1]*dt; %t
f1=1;f2=5;f3=10; %信号不同频率值
m1=cos(2*pi*f1*t);
m2=cos(2*pi*f2*t);
m3=cos(2*pi*f3*t);
mt1=m1+m2+m3;
[f,mt1f]=FFT_SHIFT(t,mt1); %2.傅里叶正变换
%输出:f-抽样频率;mt1f-频率;输入:t-时间;mt1-输入波形
fmax=2;
f=1;f2=5;f3=10; %信号不同频率值
B1=fmax %设置低通滤波器带宽,准备调用低通滤波器
[t,mt1_t]=RECT_LPF(f,mt1f,B1); %低通滤波器滤除高频,由B1决定
[f,mt1_tf]=FFT_SHIFT(t,mt1_t); %2.傅里叶正变换
%时域、频域显示
subplot(511);
plot(t,m1);
ylabel('m1(t)');
title('三个不同频率正弦波合成波和频谱');
subplot(512);
plot(t,m2);
ylabel('m2(t)');
subplot(513);
plot(t,m3);
ylabel('m3(t)');
subplot(514);
plot(t,mt1);
ylabel('m(t)');
subplot(515);
plot(f,mt1f);
ylabel('m(f)');
axis([-40,40,0,3]);
figure(2)
subplot(511);
plot(t,m1);
ylabel('m1(t)');
title('低通滤波器选频合成波和频谱');
subplot(512);
plot(t,m2);
ylabel('m2(t)');
subplot(513);
plot(t,m3);
ylabel('m3(t)');
subplot(514);
plot(t,mt1_t);
ylabel('m(t)');
subplot(515);
plot(f,mt1_tf);
ylabel('fmax=2');
axis([-40,40,0,3]);
%=======================================
% 调用函数傅里叶变换
function [f, sf]=FFT_SHIFT(t, st)
%This function is FFT to calculate a signal’s Fourier transform
%Input: t: sampling time , st : signal data. Time length must greater than 2
%output: f : sampling frequency , sf: frequency
%output is the frequency and the signal spectrum
dt=t(2)-t(1);
T=t(end);
df=1/T;
N=length(t);
f=[-N/2:N/2-1]*df;
sf=fft(st);
sf=T/N*fftshift(sf);
% 傅里叶反变换
function [t,st]=IFFT_SHIFT(f,Sf)
df=f(2)-f(1);
fmax=(f(end)-f(1)+df);
dt=1/fmax;
N=length(f);
t=[0:N-1]*dt;
Sf=fftshift(Sf);
st=fmax*ifft(Sf);
st=real(st);
% 赵鸿图-低通滤波器
function [t,st]=RECT_LPF(f,Sf,B)
df=f(2)-f(1);
fN=length(f);
RectH=zeros(1,fN);
BN=floor(B/df);
BN_SHIFT=[-BN:BN-1]+floor(fN/2);
RectH(BN_SHIFT)=1;
Yf=RectH.*Sf;
[t,st]=IFFT_SHIFT(f,Yf);
%参考书: 赵鸿图 茅艳通信原理MATLAB仿真教材[M].人民邮电出版社
选频滤波器 matlab,MATLAB低通滤波器选频实现相关推荐
- 有源电力滤波器APF MATLAB仿真 选阶补偿,matlab版本V2014,基于LCL滤波器的I型三电平拓扑仿真模型
有源电力滤波器APF MATLAB仿真 选阶补偿,matlab版本V2014,基于LCL滤波器的I型三电平拓扑仿真模型,三相四线制,软件锁相环,C语言编程提取谐波指令,直流电压和中点电位控制稳定. I ...
- 基于同步压缩小波变换(Synchrosqueezed wavelet transforms)的时频分析的MATLAB实现(不使用内置函数wsst)
引言 同步压缩小波变换(Synchrosqueezed wavelet transforms, SST)采用了经验模态分解的设计思路,结合小波变换和reallocation theory构建而成,有明 ...
- 同频干扰信号 仿真 matlab,直接序列扩频系统抗同频干扰的MATLAB仿真8.29(可靠性分析12月)...
直接序列扩频系统抗同频干扰的MATLAB仿真Simulation of DSSS System with Co-Channel Interference by MATLAB 陈吉文,郭伟(西安电子科技 ...
- 蜂窝小区干扰matlab仿真,蜂窝小区同频干扰的Matlab仿真
蜂窝小区同频干扰的Matlab仿真 INSTRUCTION In this experiment, we are going to investigate the co-channel interfe ...
- i7 8700k能装linux,在不超频的情况下装机选i7-8700还是i7-8700K好?
现在人们对硬件的要求越来越高,尤其是CPU和显卡选择上更是重中之重,是因为CPU决定了电脑运算性能,而显卡决定了图形性能.就以intel处理器为例,一些CPU型号后缀有"K"结尾, ...
- 【滤波器】基于低通滤波器语音信号加噪与去噪含Matlab源码
1 简介 1.1 课题的背景与意义 通过语音传递信息是人类最重要.最有效.最常用和最方便的交换信息的形式.让计算机能听懂人类的语言,是人类自计算机诞生以来梦寐以求的想法,用现代手段研究语音信号,使人们 ...
- 时差 频差 双星定位 matlab,双星时差频差无源定位系统定位算法工程指标分析
文章编号 :1001 - 893X(2011)07 - 0034 - 04 双星时差频差无源定位系统定位算法工程指标分析Ξ王勤果 ,龙 宁 (中国西南电子技术研究所 ,成都 610036) 摘 要 : ...
- 双线性变换 matlab,matlab和双线性变换的滤波器设计.doc
matlab和双线性变换的滤波器设计.doc 武汉理工大学MATLAB课程设计报告书题目MATLAB课程设计基于MATLAB和双线性变换的滤波器设计初始条件MATLAB仿真软件数字信号处理与图像处理基 ...
- CIC滤波器的Matlab仿真与FPGA实现
CIC滤波器 1.单级CIC滤波器: CIC滤波器的冲激响应为: h(n)=1,[0,M-1] h(n)=0,其他 可见CIC滤波器在时域上是一个矩形窗,是一个累加器(积分器). 用MATLAB仿真不 ...
- 基于matlab的低通滤波器,基于Matlab Guide的低通滤波器设计
模拟滤波器设计的关键是找到一个稳定易实现的逼近函数,且其幅频特性要满足所需滤波器的要求.常用的滤波器模型有巴特沃斯(Butterworth)滤波器.切比雪夫(Chebyscheff)滤波器.贝塞尔(B ...
最新文章
- hikaridatasource 加密后登陆不上_python测试开发django42.auth模块登陆认证
- oracle10g 开机自启动
- 申请成为qq互联个人开发者步骤(注意事项)2018
- navicat for mysql服务_使用Navicat for MySQL数据库连接服务器中的MySQL服务
- 最大计算机病毒诈骗怎么发生,又是怎么被制止的
- 带默认参数值的函数 内联函数
- MVC部分视图的使用
- java中Matcher和pattern的使用
- Excel如何条件求和
- 自学编程的30岁男人,能按应届生那样找工作吗?
- 能否去大厂的关键内功!
- python将数字拆分_Python 整数拆分
- MySQL (四)------DML操作表记录-增删改【重点】DQL操作表记录-查询【重点】
- 中兴手机数据通道打不开_中兴td-lte无线数据终端闪着绿灯 但是上不了网是怎么回事...
- 期货贴水如何交割(期货交割升贴水)
- 深耕核心技术·赋能数字化转型
- 八路电子抢答器的设计与实现
- Postgresql数据库的函数与操作符
- Java并发编程学习四:锁
- http chunked传输