一.理論分析(理論部分這里博主略去,很多公式不方便錄入,學(xué)習(xí)者自己找,很多) 1.離散傅里葉變換(Discrete Fourier Transform,縮寫為DFT),是傅里葉變換在時(shí)域和頻域上都呈離散的形式,將信號(hào)的時(shí)域采樣變換為其DTFT的頻域采樣。在形式上,變換兩端(時(shí)域和頻域上)的序列是有限長的,而實(shí)際上這兩組序列都應(yīng)當(dāng)被認(rèn)為是離散周期信號(hào)的主值序列。即使對(duì)有限長的離散信號(hào)作DFT,也應(yīng)當(dāng)將其看作其周期延拓的變換。在實(shí)際應(yīng)用中通常采用快速傅里葉變換計(jì)算DFT。 2.希爾伯特變換 希爾伯特變換與傅里葉變換不同,它不是把信號(hào)從時(shí)間域變換到另外的域,而是把信號(hào)從時(shí)域仍然變換到時(shí)域。3.自相關(guān)函數(shù) 二.針對(duì)問題和方法 1.信號(hào)降噪:現(xiàn)實(shí)中的信號(hào)一般都受到噪聲的干擾,而導(dǎo)致在提取信號(hào)特征信息的造成誤差,所以在處理信號(hào)之前先進(jìn)行降噪。一個(gè)含噪聲的一維信號(hào)模型可表示為如下形式: S(k)=f(k)+e(k) S(k)為含噪信號(hào),f(k)是有用信號(hào),e(k)是噪聲信號(hào)。這里假定噪聲是高斯白噪聲,頻譜一般分布為整個(gè)頻域。
20db信噪比4psk的頻譜 實(shí)際工程中f(k)通常為低頻信號(hào)或者頻譜范圍分布有限的信號(hào)。因此,通過離散傅里葉變換得到信號(hào)的頻譜以后,可以把有用的頻譜之外的噪聲頻譜去除,然后再經(jīng)過離散傅里葉逆變換就可以得到降噪的信號(hào)。
20db信噪比4psk去除一段噪聲的頻譜 2.提取調(diào)制信號(hào)瞬時(shí)參數(shù):利用信號(hào)的解析函數(shù)的特性計(jì)算調(diào)制信號(hào)的特征。 用原信號(hào)和其希爾伯特變換表示的復(fù)函數(shù)稱作這個(gè)原實(shí)信號(hào)的解析函數(shù) z(tn)=u(n)+jv(n) 采用頻域的方法計(jì)算采樣信號(hào)u(n)的希爾伯特變換v(n)。
3.利用自相關(guān)函數(shù)求調(diào)制信號(hào)碼元速率 三.MATLAB仿真 調(diào)制信號(hào)的瞬時(shí)參數(shù)在很多方面都有重要應(yīng)用,下面針對(duì)數(shù)字相位調(diào)制信號(hào)4psk(加高斯白噪聲),首先進(jìn)行降噪,然后根據(jù)解析信號(hào)的求得瞬時(shí)參數(shù)。仿真如下: 信噪比為20db的4psk信號(hào)(未降噪)瞬時(shí)參數(shù)提取結(jié)果:
信噪比為20db的4psk信號(hào)(降噪后)瞬時(shí)參數(shù)提取結(jié)果:
由這兩幅仿真圖看出,信號(hào)降噪前后有明顯的效果。由解析信號(hào)提取的瞬時(shí)幅度在1附近變化,瞬時(shí)頻率在1kHz附近變化,在相位突變處瞬時(shí)頻率發(fā)生劇烈變化。調(diào)制信號(hào)相位對(duì)應(yīng)的碼元xi=[0 1 2 3 3 2 1 0 2 3 0 1] 瞬時(shí)頻率信號(hào)歸零后的自相關(guān)的絕對(duì)值:
主m程序 clear all
M=4; fc=1000; fd=100; fs=10000; xi=[0 1 2 3 3 2 1 0 2 3 0 1]; [u,t]=dmod(xi,fc,fd,fs,'psk',M); sn0=awgn(u,20,'measured','db');%?ó??éù sn=fftlvbo(sn0); z=hilbert(sn); fai1=angle(z); p=FXXXWTQ3(z,fc,fs);
fi=f(z,fc,fs); z=abs(z); figure(1) subplot(2,2,1); plot(t,sn); title('?ó??μ÷??D?o?sn=f(t)')
subplot(2,2,2); plot(t,z); title('μ÷??D?o??2ê±·ù?è|z|')
subplot(2,2,3); plot(t,fi); title('μ÷??D?o??2ê±?μ?êfi')
subplot(2,2,4); dt=1/fs; Np=length(p); tp=[1:Np]*dt; plot(tp,p); title('μ÷??D?o??2ê±?à??p£¨?à??è¥??μt£?')
fi1=fi-mean(fi); r = xcorr(fi1); figure(3) plot(abs(r)) 降噪m程序 function u=fftlvbo(sn) f=fft(sn); L=length(f); for i=270:930
end u=ifft(f); figure(2) plot(abs(f)) 解析信號(hào)構(gòu)建m文件 U=fft(u,N);%à?ó??£??2?ì?±???£?′ó?μóò±???μ?μ?v£¨t£? k=1:N/2;%V(f)=-j*sgn(f)*U(f) V(k)=-j*U(k); k=(N+2)/2:N; V(k)=j*U(k); v=ifft(V,N);%?μà?ò???±???μ?μ?v£¨t£? z=u+j*v;%?a??D?o? |
|