-
大小: 2KB文件類型: .rar金幣: 2下載: 0 次發布日期: 2021-05-10
- 語言: Matlab
- 標簽:
資源簡介
MATLAB希爾伯特Hilbert變換求包絡譜 源程序代碼MATLAB希爾伯特Hilbert變換求包絡譜 源程序代碼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;??%頻率分布
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(‘包絡譜‘)
msgbox(‘MATLAB編程答疑,請加QQ:?1530497909‘‘MATLAB答疑‘‘help‘)
web?http://url.cn/TKcdXk?-browser
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1436??2014-03-15?22:55??MATLAB希爾伯特Hilbert變換求包絡譜?源程序代碼\chengxu.m
?????文件????????892??2018-03-20?17:20??MATLAB希爾伯特Hilbert變換求包絡譜?源程序代碼\chengxu.rar
?????目錄??????????0??2018-03-20?17:22??MATLAB希爾伯特Hilbert變換求包絡譜?源程序代碼
-----------?---------??----------?-----??----
?????????????????2328????????????????????3
評論
共有 條評論