⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demodulator.m

📁 is95系统的基带仿真程序。自己可以去调试
💻 M
字号:
function [SD] = Demodulator(RxIn, PN, MF, Walsh);
%
% DEMODULATOR			This function performs demodulation of the forward
%                                       Channel packet, based on RAKE Receiver
% 						Block Diagram
%						Input Signal -> [Matched Filter] -> [Sampler] -> [RAKE Receiver] -> [Walsh] -> [DeSpreading]
%
% 						Inputs: RxIn - input signal (I/Q) analoge
%                                    PN - PN sequence (used for De-spreading)
%                                    MF - matched filter taps
%                                    Walsh - Used row of Walsh matrix for  recovering
%
% 						Outputs: SD - Soft Decisions of RAKE receiver
%

global R 
N = length(RxIn)/R;

%--------------- Matched Rx Filter (Analog) --------------------
L = length(MF);
L_2 = floor(L/2);
rr = conv(flipud(conj(MF)), RxIn);
rr = rr(L_2+1: end - L_2);

%----------- Rx Symbols Sampling ------------
% R = 1.2288 Mcps
Rx = sign(real(rr(1:R:end))) + j*sign(imag(rr(1:R:end)));  

%----------- RAKE Receiver ------------
Rx = reshape(Rx, 64, N/64); 				% -------- column oriented

%-------- Walsh recovering ---------
Walsh = ones(N/64, 1)*sign(Walsh'-1/2);	%--- row oriented Walsh 
PN = reshape(PN, 64, N/64)'; 					%--- conjugated row oriented PN sequence
PN = PN.*Walsh;									%--- Walsh Orthogonalization 

%---------- Despreading (Correlate and Sum)
% Input Rate = 1.2288 Mpbs, Output Rate = 19.2 KBps
SD= PN*Rx;  	
SD= real(diag(SD));  % Find Soft Decisions (on main diagonal)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -