資源簡介
MATLAB模擬MZM實現OOK和BPSK,可修改為自己需要的高階調制方式,內有產生的信號的圖形(包含幅度和相位信息)和眼圖
代碼片段和文件信息
function?[TA_out]=add_noise(T_inA_inmeansigma)
global?n
%ampitude=0.04;
????%A_in=sqrt(Power).*exp(i*Phase);
????num_point=length(T_in);
????dt=T_in(2)-T_in(1);
????dw=2*pi/dt/num_point;
????W=(-(num_point/2):(num_point/2-1))*dw;
????Fft_A_in=fftshift(fft(A_in));
????%Fft_A_out=Fft_A_in+normrnd(meansqrt(sigma)1num_point);
????nn=1:num_point;
????a=-0.05/((num_point)^2);
????b=num_point/2;
????c=sigma;
????enve=(a*(nn-b).^2+c)/10;
%?????figure
%?????plot(nnenve)
????rand(‘state‘sum(100*clock));
????Fft_noise=enve.*(normrnd(meansqrt(sigma)1num_point));
????Fft_A_out=Fft_A_in+Fft_noise;
????
????T=T_in;
????
????figure
%?????subplot(211)
%?????plot(Wabs(Fft_A_out).^2*dt‘r‘);
%?????hold?on
%?????plot(Wabs(Fft_A_in).^2*dt‘b‘);
????
????A_out=ifft(ifftshift(Fft_A_out));
???
%?????subplot(212)
????plot(T_inabs(A_out)‘r‘‘LineWidth‘3)
????hold?on
????plot(T_inabs(A_in)‘-b‘‘LineWidth‘3)
????axis([max(T_in)-n*64*dt?max(T_in)?-0.02?0.15])
- 上一篇:matlab直接調用R語言
- 下一篇:matlab 復雜網絡工具箱
評論
共有 條評論