資源簡介
位同步信號提取的流程為:過零檢測;微分;整流;帶通濾波;整形,過零檢測
基于以上步驟利用MATLAB的M文件函數編程
代碼片段和文件信息
function?BitSynch=BSextract(signal_demodfs)
%該函數輸入宗量中,signal_demod是數字基帶信號經過調制、傳輸、解調后的信號,為雙極性,假設每個碼元長度為1,fs為每個碼元的抽樣次數也即抽樣頻率%
%輸出宗量為位同步脈沖信號%
%位同步信號提取的流程為:
%過零檢測%
%微分%
%整流%
%帶通濾波%
%整形,過零檢測%
N?=?length(signal_demod)*fs;??%采樣點數
w?=?(0:(N-1))*fs*2*pi/N;??????%FFT結果中各點的頻率
T?=?(0:(N-1))/fs;
%根據抽樣次數,把原碼元序列擴展?
for?i=1:length(signal_demod)???
????if?signal_demod(i)==1
????????for?j=1:fs
???????????signal((i-1)*fs+j)=1;
???????end
???elseif?signal_demod(i)==-1
????????for?j=1:fs
?????????signal((i-1)*fs+j)=-1;
???????end
???else
???????for?j=1:fs
???????????signal((i-1)*fs+j)=0;
???????end
???end
end???????
%歸零
signal_zcd?=?zcd(signal);
figure
subplot(411)
plot(Tsignal_zcd)
title(‘解調信號過零檢測‘)
%微分
signal_diff?=?mydiff(signal_zcd);
subplot(412)
plot(Tsignal_diff)
title(‘微分‘)
%整流
signal_rectified?=?abs(signal_diff);
subplot(413)
plot(Tsignal_rectified)
title(‘整流‘)
%帶通
%fft處理實際上是傅里葉變換的一種算法,他算出的結果是以頻率作為橫軸,Y軸是幅值情況,因此FFT算出的圖像稱為幅頻特性圖;Y軸數值取模方即得功率譜。
%fft濾波的是這樣操作的,首先對原信號進行FFT變換,得到頻域的幅值函數,然后再確定需要的頻段,將函數中不需要的頻率段幅值置零;然后進行逆傅里葉變換,即得到濾波后的圖像。
signal_fft?=?fft(signal_rectified);?
wl?=?2*pi*0.8;?wh?=?2*pi*1.2;??%設置上下限截止頻率,提取位同步信號分量
signal_bf?=?band_filter(signal_fftwlwhw);
codeclock?=?ifft(signal_bf);?
codeclock?=?real(codeclock);
subplot(414)
- 上一篇:基于MATLAB的圖像分割含GUI界面
- 下一篇:B樣條曲線逼近
評論
共有 條評論