clear all;
close all;
clc;
A = 0;
B = 0;
C = 1;
m = 350; %重复50遍的7位单极性m序列
for iii = 1:m
C_ = C;
B_ = B;
A_ = A;
C = B_;
B = A_;
A = xor(C_,A_);
m_seq(iii) = A_;
end
for iii = 1:m
bipolar_seq(iii) = 1-2*m_seq(iii); %将单极性m序列变为双极性m序列
end
figure(1)
%%绘制m序列图
subplot(3,1,1)
stairs(0:length(bipolar_seq)-1,bipolar_seq,'r','LineWidth',1.5);
axis([0,7,-1,1]);
xlabel('序号');
ylabel('m序列');
ylim([-1.2 1.2])
title('双极性7位m序列') ;
%%绘制双极性m序列频谱
subplot(3,1,2)
spectrum = fft(bipolar_seq,4096);
magm = abs(spectrum);
freq = (1:2048)*200/2048;
plot(freq,magm(1:2048)*2/4096,'g','LineWidth',1.5);
title('双极性7位M序列的频谱')
axis([90,140,0,0.1]);
%%求双极性m序列自相关函数
[speadsig_fft,tau] = xcorr(bipolar_seq,'unbiased');
subplot(3,1,3)
plot(tau,speadsig_fft,'b','LineWidth',1.5);
axis([-20,20,-0.5,1.2]);
xlabel('\tau')
title('双极性m序列的自相关函数');
saveas(gcf,'发送序列的基本特性.png')
%%
bit_num = 50;
id = 0;
bit_gen = rand(1,bit_num); %产生50个0与1之间随机数
for iii = 1:bit_num
if bit_gen(iii) >= 0.5 %大于等于0.5的取1,小于0.5的取0
trans_bits(iii) = 1;
id = id+1;
else
trans_bits(iii) = 0;
end
end
time = 0:bit_num-1;
figure(2)
%%绘制发送比特流
subplot(2,1,1)
stairs(time,trans_bits,'r','LineWidth',1.5);
xlabel('序列');
ylabel('幅度');
ylim([-0.1 1.1]);
title('扩频前的发送比特流');
subplot(2,1,2)
bits_stream = zeros(1,7*bit_num);
for iii = 1:bit_num
jj = 7*iii-6; bits_stream(jj) = trans_bits(iii);
jj = jj+1;bits_stream(jj) = trans_bits(iii);
jj = jj+1;bits_stream(jj) = trans_bits(iii);
jj = jj+1;bits_stream(jj) = trans_bits(iii);
jj = jj+1;bits_stream(jj) = trans_bits(iii);
jj = jj+1;bits_stream(jj) = trans_bits(iii);
jj = jj+1;bits_stream(jj) = trans_bits(iii);
end
spread_data = zeros(1,7*bit_num);
for iii = 1:350 %扩频后,码率变为100/7*7 = 100Hz
spread_data(iii) = xor(m_seq(iii),bits_stream(iii));
end
tt = 0:7*bit_num-1;
stem(tt,spread_data,'.');
axis([0,350,-0.1,1.1]);
xlabel('序列');
ylabel('幅度');
title('扩频后的发送比特流');
saveas(gcf,'扩频前后发送比特流比较.png')
%%
fc_ = 2000;
fs = 100000; %%采样频率为100kHz
ts = 0:1/fs:3.5-1/fs;
figure(3)
subplot(2,1,1)
data_shaped2 = rectpulse(trans_bits,7000);
nospread_sig = (1-2.*data_shaped2).*cos(2*pi*fc_*ts);%无扩频信号BPSK调制时域波形
plot(ts,nospread_sig,'r');
xlabel('时间/s');ylabel('幅度')
axis([0.035,0.095,-1.2,1.2]);
title('未扩频BPSK调制信号时域波形')
subplot(2,1,2)
data_shaped = rectpulse(spread_data,1000); %将矩形信号成型滤波
spread_sig = (1-2.*data_shaped).*cos(2*pi*fc_*ts);%扩频后信号BPSK调制时域波形
plot(ts,spread_sig);
xlabel('时间/s');ylabel('幅度')
axis([0.035,0.095,-1.2,1.2])
title('扩频BPSK调制信号时域波形');
saveas(gcf,'扩频与否BPSK调制信号时域波形比较.png')
%%
figure(4)
bit_num = 400000;
spectrum_ = fft(nospread_sig,bit_num); %无扩频信号BPSK调制频谱
magb = abs(spectrum_);
freq = (1:bit_num/2)*100000/bit_num;
subplot(2,1,1)
plot(freq,magb(1:bit_num/2)*2/bit_num,'r');
axis([1800,2200,0,0.4]);
title('无扩频BPSK调制信号频谱');
xlabel('频率/Hz');
ylabel('幅度');
grid on;
subplot(2,1,2)
spectrum__ = fft(spread_sig,bit_num); %扩频信号BPSK调制频谱
speadsig_fft = abs(spectrum__);
freq = (1:bit_num/2)*100000/bit_num;
plot(freq,speadsig_fft(1:bit_num/2)*2/bit_num);
axis([1800,2200,0,0.4]);
title('扩频BPSK调制信号频谱');
xlabel('频率/Hz');
ylabel('幅度')
grid on;
%%
SNR = 5; %信噪比 dB
figure(5)
subplot(2,1,1)
recv_sig_nospread = awgn(nospread_sig,SNR,'measured');%经过信道加高斯白噪,信噪比为3dbw
plot(ts,recv_sig_nospread,'r',ts,nospread_sig,'b','LineWidth',1.5);
axis([0,0.005,-1.5,1.5]);
legend('加噪声后','加噪声前')
xlabel('时间/s');
ylabel('幅度')
title('未扩频信号加噪声前后对比');
subplot(2,1,2)
recv_sig_spread = awgn(spread_sig,SNR,'measured');
plot(ts,recv_sig_spread,'r',ts,spread_sig,'b','LineWidth',1.5);
title('扩频信号加噪声前后对比');
legend('加噪声后','加噪声前')
xlabel('时间/s');
ylabel('幅度')
axis([0.0575,0.0625,-1.5,1.5]);
saveas(gcf,'接收信号的频域波形.png')
figure(6)
subplot(2,1,1)
spectrum_ = fft(recv_sig_nospread,bit_num); %无扩频调制信号经信道后频谱分析
magba = abs(spectrum_);
plot(freq,magba(1:bit_num/2)*2/bit_num);
title('未扩频信号加噪后信号频谱');
axis([1800,2200,0,0.4]);
xlabel('频率/Hz');
ylabel('幅度')
subplot(2,1,2)
spectrum__ = fft(recv_sig_spread,bit_num); %扩频调制信号经信道后频谱分析
maga = abs(spectrum__);
freq = (1:bit_num/2)*100000/bit_num;
plot(freq,maga(1:bit_num/2)*2/bit_num,'r');
axis([1800,2200,0,0.4]);
xlabel('频率/Hz');
ylabel('幅度')
title('扩频后经信道调制信号频谱');
saveas(gcf,'接收信号的时域波形.png')
%%
figure(7)
subplot(2,1,1)
recv_data = recv_sig_nospread.*cos(2*pi*fc_*ts); %无扩频系统接收信号乘以本地恢复载波信号
plot(ts,recv_data);
axis([0.065,0.095,-1.5,1.5]);
xlabel('时间/s');
ylabel('幅度')
title('接收未扩频BPSK信号去载波调制');
subplot(2,1,2)
recv_data_ = recv_sig_spread.*cos(2*pi*fc_*ts); %扩频系统接收信号乘以本地恢复载波信号
plot(ts,recv_data_,'r');
axis([0.065,0.095,-1.5,1.5]);
xlabel('时间/s');
ylabel('幅度')
title('接收扩频BPSK信号去载波调制');
saveas(gcf,'接收扩频BPSK信号去载波调制.png')
%%
figure(8)
subplot(2,1,1)
recv_data_fft = fft(recv_data,bit_num);
mag_rmv_carri = abs(recv_data_fft);
freq = (1:bit_num/2)*100000/bit_num;
plot(freq,mag_rmv_carri(1:bit_num/2)*2/bit_num);grid on;
axis([0,5000,0,0.15]);
xlabel('频率/Hz');
ylabel('幅度')
title('未扩频信号去载波调制后的信号频谱');
subplot(2,1,2)
recv_data_fft_ = fft(recv_data_,bit_num);
mag_rmv_carri_ = abs(recv_data_fft_);
plot(freq,mag_rmv_carri_(1:bit_num/2)*2/bit_num,'r');grid on;
title('扩频信号去载波调制后的信号频谱');
axis([0,5000,0,0.15]);
xlabel('频率/Hz');
ylabel('幅度')
saveas(gcf,'扩频信号去载波调制后的信号频谱.png')
%%
figure(9)
subplot(2,1,1)
fp_ = 100;
fc_ = 200;
as_ = 100;%衰减100dB
fsw_ = 22000;
wp_ = 2*fp_/fsw_;
wc_ = 2*fc_/fsw_;
Nw_ = ceil((as_-7.95)/(14.36*(wc_-wp_)/2))+1; %求凯萨尔窗低通滤波器阶数
beta = 0.1102*(as_-8.7);
wind = kaiser(Nw_+1,beta);
tau = fir1(Nw_,wc_,wind);
bs = abs(freqz(tau,1,400000,fsw_))';
% plot(bs)
lowpass_mag_nospread = bs.*mag_rmv_carri; %频谱与低通滤波器相乘
plot(freq,lowpass_mag_nospread(1:bit_num/2)*2/bit_num);
axis([0,200/7,0,0.2]);
title('未扩频信号经过凯萨尔窗函数低通滤波');
xlabel('频率/Hz');
ylabel('幅度')
subplot(2,1,2)
lowpass_mag_spread = bs.*mag_rmv_carri_;
plot(freq,lowpass_mag_spread(1:bit_num/2)*2/bit_num,'r');
title('扩频信号经过凯萨尔窗函数低通滤波');
axis([0,200,0,0.2]);
xlabel('频率/Hz');
ylabel('幅度')
saveas(gcf,'扩频信号经过凯萨尔窗函数低通滤波.png')
%%
figure(10)
subplot(2,1,1)
lowpass_sig = real(ifft(bs.*recv_data_fft,400000)); %对未扩频系统频谱做ifft变换
tm = (1:bit_num)/bit_num*4;
plot(tm,lowpass_sig);
xlabel('时间/s');
ylabel('幅度')
title('未扩频信号经凯萨尔窗函数滤波后时域波形');
subplot(2,1,2)
lowpass_sig_ = real(ifft(bs.*recv_data_fft_,400000)); %对扩频系统频谱做ifft变换
plot(tm,lowpass_sig_);
xlabel('时间/s');
title('扩频信号经凯萨尔窗函数滤波后时域波形');
saveas(gcf,'扩频信号经凯萨尔窗函数滤波后时域波形.png')
%%
figure(11)
subplot(2,1,1)
mseq_ = rectpulse(bipolar_seq,1000); %扩频信号乘以解扩序列
data_despread = mseq_.*lowpass_sig_(1:350000);
plot(ts(1:350000),data_despread);
xlabel('时间/s');
ylabel('幅度');
grid on;
axis([0,3,-0.5,0.5]);
title('m序列解扩后的信号时域波形');
subplot(2,1,2)
data_despread_fft = fft(data_despread,bit_num);
data_despread_mag = abs(data_despread_fft);
plot(freq,data_despread_mag(1:bit_num/2)*2/bit_num,'r');
axis([0,500,0,0.15]);
title('m序列解扩后的信号频域波形');
xlabel('频率/Hz');
ylabel('幅度');
grid on;
saveas(gcf,'m序列解扩后的信号时域和频域波形.png')
%%
figure(12)
title('解扩前后信号频带宽度
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
DSSS系统收发比特流比较,m序列解扩后的信号时域和频域波形,发送序列的基本特性,接收扩频BPSK信号去载波调制,接收信号的频域波形,接收信号的时域波形,接收信号下变频对比,解扩前后的信号功率谱对比,解扩前后的信号频带宽度对比,解扩信号采样及接收比特流,扩频前后BPSK调制信号时域波形比较,扩频前后发送比特流比较,扩频信号经过凯萨尔窗函数低通滤波,扩频信号经凯萨尔窗函数滤波后时域波形,扩频信号去载波调制后的信号频谱,扩频与否BPSK调制信号时域波形比较。
资源推荐
资源详情
资源评论
收起资源包目录
M通道.zip (58个子文件)
M通道
simulink
BPSK调制发送波形.fig 111KB
BPSK调制发送星座图.fig 24KB
CDMA_BER.mdl 46KB
不同节点比特流比较.fig 103KB
扩频前后发送比特流比较.png 33KB
BPSK扩频调制发送波形.fig 45KB
main.m 683B
发送序列的基本特性.png 37KB
DSSS系统收发比特流比较.png 27KB
扩频信号经凯萨尔窗函数滤波后时域波形.png 58KB
BPSK扩频调制发送星座图.fig 24KB
接收信号的时域波形.png 43KB
解扩前后的信号频带宽度对比.png 36KB
扩频信号去载波调制后的信号频谱.png 41KB
仿真参数设置.docx 584KB
slprj
sim
varcache
CDMA_BER
checksumOfCache.mat 392B
tmwinternal
simulink_cache.xml 249B
varInfo.mat 1008B
BPSK扩频调制信道接收功率谱密度.fig 74KB
BPSK扩频调制发送功率谱密度.fig 71KB
接收扩频BPSK信号去载波调制.png 65KB
BPSK扩频调制解扩波形.fig 296KB
CDMA_BER.slxc 4KB
main_CDMA_BER.m 681B
BPSK解调波形.fig 141KB
BPSK扩频调制信道接收星座图.fig 41KB
接收信号的频域波形.png 81KB
整个系统不同节点波形比较.fig 1.28MB
BPSK扩频调制解扩星座图.fig 41KB
m序列解扩后的信号时域和频域波形.png 47KB
解扩前后的信号功率谱对比.png 37KB
CDMA扩频系统的误码率性能曲线.fig 18KB
BPSK解调星座图.fig 24KB
BPSK扩频调制信道接收波形.fig 299KB
main_CDMA_BPSK.mdl 126KB
BPSK解调信号功率谱密度.fig 71KB
BPSK扩频调制解扩功率谱密度.fig 74KB
解扩信号采样及接收比特流.png 34KB
BPSK调制发送功率谱密度.fig 70KB
扩频信号经过凯萨尔窗函数低通滤波.png 56KB
扩频与否BPSK调制信号时域波形比较.png 48KB
代码
main_DSSS.m 10KB
扩频前后BPSK调制信号时域波形比较.png 48KB
扩频前后发送比特流比较.png 33KB
发送序列的基本特性.png 37KB
DSSS系统收发比特流比较.png 26KB
扩频信号经凯萨尔窗函数滤波后时域波形.png 59KB
接收信号下变频对比.png 65KB
接收信号的时域波形.png 43KB
解扩前后的信号频带宽度对比.png 37KB
扩频信号去载波调制后的信号频谱.png 40KB
接收扩频BPSK信号去载波调制.png 65KB
接收信号的频域波形.png 81KB
m序列解扩后的信号时域和频域波形.png 47KB
解扩前后的信号功率谱对比.png 37KB
解扩信号采样及接收比特流.png 33KB
扩频信号经过凯萨尔窗函数低通滤波.png 56KB
扩频与否BPSK调制信号时域波形比较.png 48KB
共 58 条
- 1
资源评论
- 游坦2021-04-25求问mdl文件打不开怎么办
北国寒馨
- 粉丝: 4
- 资源: 57
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功