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

📄 experiment5_4.m

📁 Simon Haykin的《Communication Systems》(《通信系统》)的配套MATLAB源代码。包括脉冲调制、随机过程、和差错编码等。
💻 M
字号:
% Experiment 5% Digital phase lock loop% Track error  of the recursive Costas Loop. % Effect of varying the step size parameter % on convergence behaviour of the recursive Costas Loop% Tested for test size parameter =0.1 and 0.5 for SNR =30 dB.%angle shifttheta=pi/3;% Generating QPSK signalsno_of_bits=400;b=round(rand(no_of_bits,1));bits=2*b-1;bitsi=bits(1:2:length(bits)-1);bitsq=bits(2:2:length(bits));s_n=(bitsi+i*bitsq)/sqrt(2);% signal to noise ratios  SNRdB =[30];  snr = 10^(SNRdB/10);% Add AWGN with STD equal to std_value wn = (randn(length(s_n),1)+i*randn(length(s_n),1))/sqrt(2)/sqrt(snr);s=s_n+wn;% Digital Phase lock loop            no_of_symbols=length(s);         x=s*exp(i*theta);%step size  =0.1, 0.5gamma_s=[0.1 0.5]; for step=1:length(gamma)gamma=gamma_s(step);            theta_guess=0;  % initial guess            theta_hat=zeros(no_of_symbols,1);            theta_hat(1)=theta_guess;         %Recursive Costas Loop                    for kk=1:no_of_symbols                                  y(kk)=x(kk)*exp(-i*theta_hat(kk));            s_predi(kk)=(sign(real(y(kk)))+...          i*sign(imag(y(kk))))/sqrt(2);        error(kk)=imag(conj(s_predi(kk))*y(kk));                theta_hat(kk+1)= theta_hat(kk)+gamma*error(kk);                  end %kk theta_hatf(:,step)=theta_hat;end %step%printsfigure(1);plot(theta_hatf)xlabel('Normalized time, t/T')ylabel('Estimated phase (rad)')

⌨️ 快捷键说明

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