?? matlab
字號:
clear;
load c;
Fs=38400; %WCDMA信號的采樣率
nsamp=16; %過采樣率
delay=3; %根號下升余弦的群時延
datain=c; %這里c為WCDMA系統的擾碼數據
Num=length(datain); %計算相關的長度
dataout=RRCsend(datain,Fs,nsamp,delay); %調用子程序,經過發送端的根號下升余弦濾波,輸入采樣率為1,輸出采樣率為16
%經過AWGN信道
SNR_DB=-22; %信噪比
snr=10^(SNR_DB/10);
noise_var = 2/snr; %假設dataout的平均碼片能量為2
noise = sqrt(1/2*noise_var)*(randn(1,length(dataout))+j*randn(1,length(dataout)));
datachannel=dataout+noise; %加噪聲
datarece=RRCrece(datachannel,Fs,nsamp,delay,1);% 調用子程序,收端的根號下升余弦匹配濾波器,輸入輸出的采樣率都為16倍
optimal_sample_piont=1+2*delay*nsamp; %最佳采樣點的起始位置
dataext=[datain,datain,datain]; %用于接收端相關的擾碼
%設計低通濾波器
[b,a] = cheby2(3,20,100/19200); %3階,帶外衰減20dB,采用率38400Hz,低通帶寬100Hz
%偏離最佳采樣點,向前偏移
for ii=1:16
datasample=datarece(optimal_sample_piont-16+ii:16:length(datarece)-2*delay*nsamp-15);
temp=real(datasample).*real(dataext(Num:2*Num-1))+imag(datasample).*imag(dataext(Num:2*Num-1));
temp=filter(b,a,temp);%經過低通濾波器
val_co1=sum(temp);%早門支路相關
temp=real(datasample).*real(dataext(Num+2:2*Num+1))+imag(datasample).*imag(dataext(Num+2:2*Num+1));
temp=filter(b,a,temp);% 經過低通濾波器
val_co2=sum(temp);% 遲門支路相關
val_co(ii)=(val_co2-val_co1)/(2*Num);%計算兩路相關的差值,并歸一化
end;
%偏離最佳采樣點,向后偏移
for ii=1:15
datasample=datarece(optimal_sample_piont+ii:16:length(datarece)-2*delay*nsamp+1); temp=real(datasample).*real(dataext(Num:2*Num-1))+imag(datasample).*imag(dataext(Num:2*Num-1));
temp=filter(b,a,temp);%經過低通濾波器
val_co1=sum(temp);%早門支路相關
temp=real(datasample).*real(dataext(Num+2:2*Num+1))+imag(datasample).*imag(dataext(Num+2:2*Num+1));
temp=filter(b,a,temp);% 經過低通濾波器
val_co2=sum(temp);%遲門支路相關
val_co(16+ii)=(val_co2-val_co1)/(2*Num);% 計算兩路相關的差值,并歸一化
end;
ii=-15:15;
figure
stem(ii,val_co);
xlabel('采樣點偏移');
ylabel('歸一化相關點');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -