日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MATLAB有关数字信号处理的一些方法

發布時間:2025/1/21 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MATLAB有关数字信号处理的一些方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

產生方波

clear
t=0:0.01:10;
subplot(4,1,1)
f1=square(t);?? ??? ?????? ??? ??? %? 產生周期為2pi的方波信號
plot(t,f1)
axis([0,10,-1.2,1.2])
subplot(4,1,2)
f2=square(t,30);?? ??? ?????? %? 產生周期為2pi,占空比為30%的方波信號 ?
plot(t,f2)
axis([0,10,-1.2,1.2])
subplot(4,1,3)
f3=square(2*pi*t); ?? ??? ?????? ?%? 產生周期為1的方波信號
plot(t,f3)
axis([0,10,-1.2,1.2])
subplot(4,1,4)
f4=square(2*pi*t,80);? ??? ?????? %? 產生周期為1,占空比為80%的矩形脈沖信號
plot(t,f4)
axis([0,10,-1.2,1.2])

?

產生三角波,鋸齒波

clear
t=0:0.01:15;
subplot(3,1,1)
f1=sawtooth(t);
plot(t,f1)
axis([0,15,-1.2,1.2])
subplot(3,1,2)
f1=sawtooth(pi*t);
plot(t,f1)
axis([0,15,-1.2,1.2])
subplot(3,1,3)
f1=sawtooth(2*pi*t,0.5);
plot(t,f1)
axis([0,15,-1.2,1.2])

?

angle-相位角求取

用法

P=angle(Z)?

函數返回向量Z的相位角P,單位是弧度,若元素向量或數組Z為復數,則相位角位于-pi到+pi之間。

?

besselap-besself低通模擬濾波器

用法

[z,p,k]=besselap(n)?

函數返回n階低通模擬besself濾波器的零點z,極點p和增益k。其中,n《=25,且p的長度為n,k為標量,z是一個空矩陣。

傳遞函數:


?

buttap-Butterworth低通模擬濾波器

用法

[z,p,k]=buttap(n)?

函數返回 n階低通模擬Butterworth濾波器的零點z,極點p和增益k。其中,p的長度為n,k為標量, z是一個空矩陣。

?

cheb1ap-切比雪夫1型低通模擬濾波器

用法

[z,p,k]=cheb1ap(n,Rp)?

函數返回n階切比雪夫1型低通濾波器的零點z,極點p和增益k。其中,p的長度為n,k為標量,z是一個空矩陣。Rp指定通帶上允許的波紋類型(單位是dB)。

?

cheb2ap-切比雪夫2型低通模擬濾波器

用法

[z,p,k]=cheb2ap(n,Rs)?

函數返回 n階切比雪夫2型低通模擬濾波器的零點z,極點p和增益k。其中, z和p的長度為n,若n為奇數,則z的長度為n-1,k為標量。Rs指定阻帶上允許的波紋類型(單位是dB)

?

時域分析

conv-計算卷積

w=conv(u,v)?

函數計算兩個信號向量u和v的卷積。其中u的長度為m,v的長度為n,則返回計算結果w長度為(m+n+1)。

cov-計算協方差

1.R=cov(X)?

函數返回信號X的協方差矩陣R。X可為向量或矩陣。當X為向量時,cov(X)返回一個包含方差的標量R。當X為矩陣時,cov(X)返回協方差矩陣。

2.R=cov(X,Y)?

函數求信號X和Y之間的協方差。

生成一個隨機矩陣,然后計算該隨機矩陣X的協方差矩陣。

?

fft/ifft-快速傅立葉變換/反變換

1.Y=fft(X)/Y=ifft(X)?

函數按照基2的算法對X進行快速傅立葉變換/反變換。若X是一個矩陣,則對矩陣的每列進行快速傅立葉變換/反變換,返回Y是和X相同大小的矩陣。若X是一個多維序列,則對第一個非單獨維進行快速傅立葉變換/反變換。

2.Y=fft(X,n)/Y=ifft(X,n)?

函數對X進行n點快速傅立葉變換/反變換。當X是一個向量,若X的長度小于n,則先對X進行補零使其長度為n;若X的長度大于n,則對X進行剪切使其長度為n,最后得到一個長度為n的向量Y。當X是一個矩陣,則利用同樣方法對矩陣的每一列進行調整,然后對矩陣的每列進行快速傅立葉變換/反變換,最后得到一個n行的矩陣Y。

3.Y=fft(X,n,dim)/Y=ifft(X,n,dim)?

用法同上,dim用來指定進行快速離散傅立葉變換/反變換的維數。

信號sig中含有正弦信號和噪聲信號,對其進行快速離散傅立葉變換。并求出原始信號頻率成分。


>> t=0:0.005:1;
>> x=sin(2*pi*20*t)+cos(2*pi*60*t);
>> sig=x+rand(1,length(t));
>> subplot(1,2,1);
>> plot(sig(1:60));
>> title('原始信號圖');

>> ftt_sig=fft(sig,512); %對sig信號進行補零的512點快速離散傅立葉變換
>> p=ftt_sig.*conj(ftt_sig)/512; %求信號的功率譜密度
>> f=1000*(0:255)/512; %設置頻率的變換范圍
>> subplot(1,2,2);
>> plot(f,ftt_sig(1:256)) %繪制功率譜密度分布圖

>> title('功率譜密度圖')

?

fftfilt-基于FFTFIR濾波

用法

y=fftfilt(b,x)?

函數使用疊加法進行基于FFT的FIR濾波。給定系數向量 b對輸入向量x進行濾波。

y=fftfilt(b,x,n)?

函數使用疊加法進行基于FFT的FIR濾波。給定系數向量b對輸入向量x進行濾波。n用于決定FFT的長度。

?

filtfilt-零相位數字濾波

用法

y=filtfilt(b,a,x)?

函數對輸入信號 x進行正向和反向處理從而實現零相位數字濾波。b和a指定傳遞函數的系數, x是輸入信號。函數對x進行前向濾波后,再將結果進行反向。

?

hilbert-希爾伯特變換

x=hilbert(xr)?

函數將實序列xr進行希爾伯特變換,返回一個同樣長度的復數序列x。若xr是一個矩陣,則對xr矩陣的每列進行希爾伯特變換。

x=hibert(xr,n)

函數將實序列xr進行n點希爾伯特變換,返回一個同樣長度的復數序列x。對xr進行補零或者去零的操作使其長度為 n。

?

impinvar-用沖擊響應不變法使模擬濾波器轉換為數字濾波器

用法

[bz,az]=impinvar(b,a,fs)

函數在保持沖擊響應不變的前提下,將模擬濾波器的傳遞函數的分子分母b和a轉換為數字濾波器的傳遞函數的分子分母bz和az。fs為對模擬濾波器的采樣頻率,缺省為1hz。

[bz,az]=impinvar(b,a,fs,tol)

方法同上,tol為指定的公差,tol越大,則impinvar函數接近極點的可能性越大,缺省為極點值的0.001。

?

residuez-Z反變換

用法

[r,p,k]=residuez(b,a)

函數對有理Z函數進行Z反變換。b和a分別為有理Z函數的分子多項式系數向量和分母多項式系數向量。返回r為留數列向量,p為極點列向量,若分子多項式的階數大于分母多項式的階數,則k為展開式中的直接項。

?

信號產生

ones-產生單位階躍信號

signal=ones(1,N)

函數產生一組N點單位階躍信號signal,長度為N,信號幅值為1。

生成一個長度為5的單位階躍信號,信號幅值為1。

signal=ones(1,5)

?

zeros-產生單位抽樣信號

signal=[1,zeros(1,N-1)] 函數產生一組單位抽樣信號signal。

1.生成一組長度為5的單位抽樣信號

signal=[1,zeros(1,5-1)]

2.生成一個長度為5的單位抽樣信號,它在時間軸上延遲2個周期。

x=zeros(1,5)????x(2)=1

?

sawtooth-生成鋸齒波/三角波信號

1.sawtooth(t) 函數對時間變量t產生周期為2pi的鋸齒波,幅值在+1到-1間變化。

2.sawtooth(t,width) 函數對時間變量t產生三角波,width是在0到1之間取值的尺度參數,指定鋸齒波的波峰出現的位置。函數在[0,width*2*pi]區間內由-1增大到+1,在[width*2*pi,1]區間內由+1減小到-1。

width=1時,產生正極性鋸齒波,width=0時,產生負極性鋸齒波,width=0.5時,產生對稱鋸齒波。

?

square-生成方波信號

1.x=square(t) 函數對時間變量t產生周期為2pi,幅值為+-1的方波。

2.x=square(t,duty) 函數是對時間變量t產生指定周期,幅值為+-1的方波。duty是信號為正值的區域在一個周期內所占的比例。

?

總結

以上是生活随笔為你收集整理的MATLAB有关数字信号处理的一些方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。