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

📄 top_tb_source.m

📁 一个扩频发射接收机的matlab仿真程序
💻 M
字号:

clear all;
N = 10;
% A(1:3:N)=1;
% A(2:3:N)=-1;
% A(3:3:N)=-1;
% A(1:5)=1;
A(1:10)=1;
C=A;
%  A = randsrc(1,N,[1,-1]);
SNR_INPUT=100000;
B(1)=-1;
for i=1:length(A)
    B(i+1)=B(i)*A(i);
end
A=B;
PNi = ss_mlsrs([1 0 0 1 0 0 0]);
fc = 24384000;%中频
fs = 32512000;%抽样频率
f_err_s = 0;
phase_0 = pi/4;
%PN = [1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 0 1 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 1 1 0 1 1 0 0 0 0 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 0];
PNi = 1 - PNi*2;
M = length(PNi);
for n=1:N
    Xi0((n-1)*M+(1:M))=A(n)*PNi;% I路未成型的基带信号
end

Xi1 = rcosflt(Xi0,1,8,'sqrt',0.36);
signal_baseband_sender_i = Xi1';;% I路成型的基带信号
%调制
t = (0:length(Xi1)-1)/fs;
phase_sender = 2*pi*t*(fc + f_err_s) - phase_0;
signal_if_sender = signal_baseband_sender_i.*cos(phase_sender);   %发射机中频调制信号
'发端调制完毕'
signal_if_sender = awgn(signal_if_sender,SNR_INPUT - 10*log10(8/2/(1+0.36)),'measured');   %接收机收到的中频调制信号,信号带宽内的信噪比为SNR_INPUT;

signal_if_sender = round(signal_if_sender*(2^9 -1)/max(abs(signal_if_sender)));

for m=1:length(signal_if_sender)
    if(signal_if_sender(m)<0)
        Xi3(m) = signal_if_sender(m) + 2^10;
    
    else
        Xi3(m) = signal_if_sender(m);
    end
end
fid = fopen('f:\fpgawork\dssp_tb_source\test_tob_dmf.txt','w');
if(fid~=-1)
    for m=1:length(Xi3)
        fprintf(fid,'%x',Xi3(m));
        fprintf(fid,'%c',' ');
    end
end
fclose(fid)

fid = fopen('F:\760program\rom.coe','w');
if(fid~=-1)
            fprintf(fid,'%c','memory_initialization_radix=16;');
            fprintf(fid,'%c','memory_initialization_vector=');
    for m=1:length(Xi3)
        fprintf(fid,'%x',Xi3(m));
        fprintf(fid,'%c',',');
    end
end
fclose(fid)

plot(abs(fft(signal_if_sender)));
cose=cos(phase_sender);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
signal_receive = signal_if_sender .* round(cos(phase_sender)*(2^15-1));
flt=[-2,-1,0,1,3,4,5,5,3,1,-2,-6,-9,-11,-11,-9,-4,3,13,24,36,47,55,61,63,61,55,47,36,24,13,3,-4,-9,-11,-11,-9,-6,-2,1,3,5,5,4,3,1,0,-1,-2];
 signal_receive_base= conv(signal_receive,flt);
 plot(signal_receive_base);
 pianyi=6*8-1;
 PNi1=PNi(127:-1:1);
signal_receive_base1=signal_receive_base(1+pianyi:8:length(signal_receive_base));
signal_receive_base2=signal_receive_base(2+pianyi:8:length(signal_receive_base));
signal_receive_base3=signal_receive_base(3+pianyi:8:length(signal_receive_base));
signal_receive_base4=signal_receive_base(4+pianyi:8:length(signal_receive_base));
signal_receive_base5=signal_receive_base(5+pianyi:8:length(signal_receive_base));
signal_receive_base6=signal_receive_base(6+pianyi:8:length(signal_receive_base));
signal_receive_base7=signal_receive_base(7+pianyi:8:length(signal_receive_base));
signal_receive_base8=signal_receive_base(8+pianyi:8:length(signal_receive_base));
res1=conv(signal_receive_base1,PNi1);
res2=conv(signal_receive_base2,PNi1);
res3=conv(signal_receive_base3,PNi1);
res4=conv(signal_receive_base4,PNi1);
res5=conv(signal_receive_base5,PNi1);
res6=conv(signal_receive_base6,PNi1);
res7=conv(signal_receive_base7,PNi1);
res8=conv(signal_receive_base8,PNi1);
plot(res1);
result=res1(127:127:length(res1));
stem(result);

⌨️ 快捷键说明

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