资源简介
MATLAB希尔伯特Hilbert变换求包络谱
部分源码
clear all;close all;clc
fs=10000; %采样频率
t=0:0.005:1*pi; %采样时间
x=4*sin(2*200*pi*t).*(sin(2*4500*pi*t))+25*(sin(2*4500*pi*t)); %原信号x
N=length(x); %计算原信号的长度
f=fs*(0:N-1)/N; %频率分布

代码片段和文件信息
clear all;close all;clc
fs=10000; %采样频率
t=0:0.005:1*pi; %采样时间
x=4*sin(2*200*pi*t).*(sin(2*4500*pi*t))+25*(sin(2*4500*pi*t)); %原信号x
N=length(x); %计算原信号的长度
f=fs*(0:N-1)/N; %频率分布
y=fft(x); %对原时域信号x进行fft,得到频域信号y
subplot(311)
plot(fabs(y)) %绘制原信号的频谱y
title(‘原信号频谱‘)
%设计滤波器FIR滤波器
f1=128/fs; %上截止频率(要除以采样频率,归一化)
f2=4096/fs; %下截止频率(要除以采样频率,归一化)
b=fir1(48[f1 f2]); %设计带通滤波器
c=freqz(b1N); %频率特性
subplot(312)
plot(fabs(c)); %绘制带通滤波器
title(‘滤波器‘)
xlabel(‘f(Hz)‘)
%频域滤波
y1=y.*c‘; %对原信号频域滤波,得到滤波之后的频域信号y1(原频域信号y*滤波器c)
subplot(313)
plot(fabs(y1)) %绘制滤波之后的频域信号y1
title(‘原信号频域滤波之后‘)
%反变换y1,得到滤波之后的时域信号x1
x1=ifft(y1); %反变换y1,得到滤波之后的时域信号x1
figure
subplot(211)
plot(tx) %绘制时域原信号x
title(‘时域原信号‘)
subplot(212)
plot(treal(x1)) %绘制滤波之后的时域信号x1
title(‘滤波之后的时域信号‘)
%hilbert变换,对x1求包络线
x2=hilbert(real(x1)); %x1的希尔伯特变换x2
x3=abs(x2); %x2取模,得到x3
%对x3进行fft,求包络谱
nfft=1024;
p=abs(fft(x3nfft)); %将x3补齐到1024个,并fft,得到p,就是包络线的fft---包络谱
figure
plot((0:nfft-1)/nfft*fsp) %绘制包络谱
title(‘包络谱‘)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1335 2018-04-21 21:05 MATLAB希尔伯特Hilbert变换求包络谱 源程序代码\chengxu.m
目录 0 2018-04-21 21:05 MATLAB希尔伯特Hilbert变换求包络谱 源程序代码\
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论