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

📄 qpsk_a.m

📁 matlab仿真产生QPSK信号。添加高斯白噪声
💻 M
字号:
clear all;

%%%%%%%%%%%%%%%%%设置QPSK信号的参数%%%%%%%%%%%%%%%%%%%%%
Symbol = 1024*16;%%码元个数
Fs = 1e6;%364110;%采样率
Fc = Fs/20;%信号载频
Rs = Fs/41;%码元速率
a = 0.4;%升余弦系数
T = 3;%升余弦周期
SNR = 4.3;%信噪比
% noise = randn(1,Symbol*Fs/Rs)*(10^(-(SNR+6)/20));
%%%%%%%%%%%%%%%%%%生成QPSK信号%%%%%%%%%%%%%%%%%%%%%%%%%%
iCode = (randint(1, Symbol, [0 1])*2-1);
qCode = (randint(1, Symbol, [0 1])*2-1);
% for j = 1:11;
FIR = rcosfir(a ,[-T,T] ,(floor(Fs/Rs)) ,1 ,'sqrt');%0.1*(j-1)
iBaseband = conv(upsample(iCode,Fs/Rs),FIR);
qBaseband = conv(upsample(qCode,Fs/Rs),FIR);
QPSK1 = zeros(1,Symbol*Fs/Rs);
QPSK1 = iBaseband((T*(floor(Fs/Rs))+1):((Symbol+T)*(floor(Fs/Rs)))).*cos(2*pi*Fc/Fs*(1:Symbol*Fs/Rs))+ qBaseband((T*(floor(Fs/Rs))+1):((Symbol+T)*(floor(Fs/Rs)))).*sin(2*pi*Fc/Fs*(1:Symbol*Fs/Rs));%+ noise;
%%%%%%%%%%%%%%%%%%%%%%%信号做5倍抽取%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
QPSK = zeros(1,Symbol*8);
QPSK2 = zeros(1,Symbol*8);
for i = 1:Symbol*8;
    QPSK(i) = QPSK1(5*i)*2;
end

plot(10*log(abs(fft(QPSK(1:Symbol).^1))));

% fid1 = fopen('QPSK_8.dat','wb');
% n = fwrite(fid1,QPSK,'float');
% fclose(fid1);

% fid2 = fopen('QPSK_41.dat','w');
% m = fwrite(fid2,QPSK1,'float');
% fclose(fid2);
% fid2 = fopen('QPSK_8.dat','r');
% QPSK2 = fread(fid2,Symbol*8,'float');
% plot(10*log(abs(fft(QPSK2.^2))));
% fclose(fid2);

⌨️ 快捷键说明

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