直接序列扩频系统仿真Word文档格式.docx
- 文档编号:22464258
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:34
- 大小:419.07KB
直接序列扩频系统仿真Word文档格式.docx
《直接序列扩频系统仿真Word文档格式.docx》由会员分享,可在线阅读,更多相关《直接序列扩频系统仿真Word文档格式.docx(34页珍藏版)》请在冰豆网上搜索。
axis([0,8,-1,1]);
xlabel('
k'
);
title('
7位M序列'
);
由上图可以看出,7位m序列为1,-1,-1,-1,1,-1,1,与书上所说一致。
关于m序列更深的讨论在后文中提到。
2)、生成50位随机待发送二进制比特序列,并进行扩频编码
生成的信息码频率为100/7Hz,利用m序列编码后,频率变为100Hz。
N=50;
a=0;
x_rand=rand(1,N);
%产生50个0与1之间随机数
N
ifx_rand(i)>
=0.5%大于等于0.5的取1,小于0.5的取0
x(i)=1;
a=a+1;
elsex(i)=0;
t=0:
N-1;
figure
(2)
subplot(2,1,1)
stem(t,x);
扩频前50位随机比特'
tt=0:
349;
subplot(2,1,2)
l=1:
7*N;
y(l)=0;
k=7*i-6;
y(k)=x(i);
k=k+1;
y(k)=x(i);
k=k+1;
s(l)=0;
350
s(i)=xor(L(i),y(i));
7*N-1;
stem(tt,s);
axis([0,350,0,1]);
扩频后'
3)、对扩频前后信号进行BPSK调制,观察其时域波形
BPSK调制采用2kHz信号cos(2*2000*t)作为载波
fs=2000;
ts=0:
0.00001:
3.5-0.00001;
%采样频率为100kHz
ps=cos(2*pi*fs*ts);
s_b=rectpulse(s,1000);
%将冲激信号补成矩形信号
s_bpsk=(1-2.*s_b).*cos(2*pi*fs*ts);
%扩频后信号BPSK调制时域波形
plot(ts,s_bpsk);
s'
axis([0,0.1,-1.2,1.2])
扩频后bpsk信号时域波形'
s_bb=rectpulse(x,7000);
s_bpskb=(1-2.*s_bb).*cos(2*pi*fs*ts);
%无扩频信号BPSK调制时域波形
plot(ts,s_bpskb);
axis([0,0.1,-1.2,1.2]);
扩频前bpsk信号时域波形'
)
可以看出,100/7Hz的无扩频信号每0.07s时由于序列极性变换产生相位变换,100Hz的扩频后调制信号每0.01s由于序列极性变换产生相位变换。
4)、计算并观察扩频前后BPSK调制信号的频谱
对信号采用400000点fft计算,得到频谱
N=400000;
ybb=fft(s_bpskb,N);
%无扩频信号BPSK调制频谱
magb=abs(ybb);
fbb=(1:
N/2)*100000/N;
plot(fbb,magb(1:
N/2)*2/N);
axis([1800,2200,0,0.25]);
扩频前调制信号频谱'
Hz'
yb=fft(s_bpsk,N);
%扩频信号BPSK调制频谱
mag=abs(yb);
fb=(1:
plot(fb,mag(1:
扩频后调制信号频谱'
如图,扩频前信号主瓣宽度约为2*100/7=28Hz,扩频后,信号频谱展宽,主瓣1900~2100Hz约为200Hz,为无扩频信号频谱宽度的N=7倍,符合理论推算。
5)、仿真经awgn信道传输后,扩频前后信号时域及频域的变化
awgn信道模拟了真实的信道,为传输信号增加了高斯白噪声。
在本次仿真中,设定信道信噪比为3dB,即信噪比约为2。
s_bpskba=awgn(s_bpskb,3,'
measured'
%经过信道加高斯白噪,信噪比为3dbw
plot(ts,s_bpskb,'
b'
ts,s_bpskba,'
y'
axis([0,0.005,-1.2,1.2]);
t'
无扩频时域'
legend('
未加噪声'
'
加噪声'
%
%subplot(2,1,2)
s_bpska=awgn(s_bpsk,3,'
plot(ts,s_bpsk,'
ts,s_bpska,'
扩频时域'
axis([0.0675,0.0725,-1.2,1.2]);
ybba=fft(s_bpskba,N);
%无扩频调制信号经信道后频谱分析
magba=abs(ybba);
plot(fbb,magba(1:
无扩频频域'
axis([1700,2300,0,0.25]);
yba=fft(s_bpska,N);
%扩频调制信号经信道后频谱分析
maga=abs(yba);
plot(fb,maga(1:
扩频后频域'
可以看出,蓝色为光滑余弦调制信号,黄色为加噪声后时域波形,加上高斯白噪声后出现较大锯齿。
axis([0,4000,0,0.04]);
扩频后未加高斯'
扩频后加高斯白噪'
由上图可知道经过信道加噪后,在所有的频率点上都产生了一定的振幅,符合高斯白噪声的原理。
下面,我将分别仿真解调解扩后译码输出及加入窄带强干扰后解调解扩译码输出的时域和频谱。
6)、不加窄带强干扰
a)、接收机与本地恢复载波相乘,非扩频信号
A、低通滤波前
reb=s_bpskba.*cos(2*pi*fs*ts);
%无扩频系统接收信号乘以本地恢复载波信号
plot(ts,reb);
axis([0.055,0.085,-1.5,1.5]);
时域波形'
yreb=fft(reb,N);
magreb=abs(yreb);
freb=(1:
plot(freb,magreb(1:
axis([0,5000,0,0.5]);
信号频谱'
可以看出,接收信号乘以恢复载波后,已经能大致恢复出信号的变化。
同时,无扩频系统符号速率仍然是100/7Hz即0.07s出现符号变化。
信号乘以频率为2kHz的恢复载波后,在基带和4kHz处存在频谱分量。
B、低通滤波后
fp=100;
fc=200;
as=100;
ap=1;
%衰减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);
window=kaiser(Nw+1,beta);
b=fir1(Nw,wc,window);
bs=abs(freqz(b,1,400000,fsw))'
;
plot(bs)
magrebl=bs.*magreb;
%频谱与低通滤波器相乘
plot(freb,magrebl(1:
axis([0,200/7,0,1]);
频域波形'
yrebl=real(ifft(bs.*yreb,400000));
%对无扩频系统频谱做ifft变换
tm=(1:
N)/N*4;
plot(tm,yrebl);
时域波形与原信息基本吻合
b)、接收机与本地恢复载波相乘,扩频信号
未解扩:
subplot(2,2,1)
re=s_bpska.*cos(2*pi*fs*ts);
%扩频系统接收信号乘以本地恢复载波信号
plot(ts,re);
扩频后接收信号乘以恢复载波'
subplot(2,2,2)
yre=fft(re,N);
magre=abs(yre);
plot(freb,magre(1:
扩频后乘以恢复载波后信号频谱'
subplot(2,2,4)
magrel=bs.*magre;
plot(freb,magrel(1:
扩频后信号经过凯萨尔窗函数低通滤波'
axis([0,200,0,0.4]);
subplot(2,2,3)
yrel=real(ifft(bs.*yre,400000));
%对扩频系统频谱做ifft变换
plot(tm,yrel);
扩频后经过凯萨尔窗函数滤波后时域波形'
扩频系统100Hz即0.01s出现符号变化,信号乘以频率为2kHz的恢复载波后,在基带和4kHz处存在频谱分量,时域波形与原信息基本吻合。
解扩:
jj=rectpulse(M,1000);
%扩频信号乘以解扩序列
yrej=jj.*yrel(1:
350000);
plot(ts(1:
350000),yrej);
axis([0,4,-0.5,0.5]);
解扩后时域波形'
yj=fft(yrej,N);
magj=abs(yj);
plot(freb,magj(1:
axis([0,500,0,0.2]);
解扩后频域'
解扩前信号频偏'
解扩后信号频偏'
yjb=fft(yrel,N);
prelb=yjb.*conj(yjb)/N;
plot(freb,prelb(1:
axis([0,200,0,0.01]);
解扩前信号功率谱'
prel=yj.*conj(yj)/N;
plot(freb,prel(1:
解扩后信号功率谱'
由于扩频信号与m序列具有良好的相关性,故乘以m序列以后,能基本还原出原信号波形。
同时可以看出,频谱已经由扩展带宽再次缩短,还原出原信号频谱。
,解扩前信号主瓣约为100Hz,解扩后恢复为100/7Hz,与发送信息吻合。
解扩后信号的频谱被压缩,功率幅度增加,符合理论分析结果。
采样判决输出:
350
ij=i*1000-500;
ss(i)=yrej(ij);
stem(ss);
采样'
350%判决信号算法
ifss(i)>
0.2
ss(i)=1;
elseifss(i)<
-0.2
ss(i)=-1;
elsess(i)=0;
ij=7*i-6;
ifss(ij)==0
ss(ij)=ss(ij+4);
348
ifss(i)==0
ss(i)=ss(i+2);
S(i)=ss(i*7-3);
ifS(i)==0
S(i)=S(i)+1;
S(i)=(1-S(i))/2;
stem(S);
判决输出'
加上前面的一次同时运行:
最终判决信号与原发送信号完全吻合。
7)、加入窄带强干扰
在加入高斯白噪声之后再加一个2040~2050Hz的窄带强干扰。
产生方法为:
生成单位冲激信号,其频谱为白色。
之后,用2040~2050Hz的带通滤波器对其进行滤波。
之后,与恢复载波相乘。
figure(11)
fd=200000;
Wp1=2*2040/fd;
%2040~2050Hz带通滤波器
Wp2=2*2050/fd;
Wc1=2*2030/fd;
Wc2=2*2060/fd;
Ap=1;
As=100;
W1=(Wp1+Wc1)/2;
W2=(Wp2+Wc2)/2;
wdth=min((Wp1-Wc1),(Wc2-Wp2));
Nd=ceil(11*pi/wdth)+1;
bd=fir1(Nd,[W1W2]);
zd
(1)=1;
%产生单位冲激信号
fori=2:
350000
zd(i)=0;
ds=abs(freqz(bd,1,400000,fd))'
ybz=fft(zd,N)*100000;
magz=abs(ybz);
dz=ds.*magz;
%冲激信号频谱乘以带通滤波器
dsz=maga+dz;
%magrelz=magrel;
plot(freb,dz(1:
N/2)*2/N,freb,maga(1:
axis([1700,2300,0,0.6]);
高斯噪声后加上一窄带强干扰的频谱'
rez=real(ifft(dz,N));
ts=(1:
yzz=rez.*cos(2*pi*2000*ts);
%信号乘以恢复载波
yz=fft(yzz,N);
magyz=abs(yz);
renz=real(ifft(maga,N));
ynzz=renz.*cos(2*pi*2000*ts);
ynz=fft(ynzz,N);
magynz=abs(ynz);
plot(freb,magyz(1:
N/2)*2/N,freb,magynz(1:
axis([0,5000,0,0.2]);
解调后'
figure(12)
magyzl=bs.*magyz;
%用凯赛尔窗低通滤波器滤波
magynzl=bs.*magynz;
plot(freb,magynzl(1:
N/2)*2/N,freb,magyzl(1:
axis([0,200,0,0.2]);
低通滤波后的频谱'
信号'
窄带干扰信号'
yrnzl=real(ifft(bs.*yre,400000));
%对滤波后带干扰信号进行ifft变换
yrzl=real(ifft(magynzl,400000));
yrnzlj=jj.*yrnzl(1:
yrzlj=jj.*yrzl(1:
350000),yrnzlj+yrzlj);
axis([0,4,-1.5,1.5]);
解扩后信号波形'
figure(13)
subplot(2,1,1)%分别画出信号与干扰经低通滤波后频谱
yzj=fft(yrzlj,N);
magzj=abs(yzj);
ynzj=fft(yrnzlj,N);
magnzj=abs(ynzj);
plot(freb,magnzj(1:
N/2)*2/N,freb,magzj(1:
信号与窄带干扰解扩后频谱'
prelnz=ynzj.*conj(ynzj)/N;
prelz=yzj.*conj(yzj)/N;
plot(freb,prelnz(1:
N/2)*2/N,freb,prelz(1:
axis([0,100,0,0.007]);
信号与窄带干扰经解扩后的功率谱'
从上可以看出,窄带干扰非常强。
从频谱知道由于窄带干扰与扩频序列不相关,经解扩后频谱幅度明显降低,对信号无太大影响,信号的时域波形只是增加了幅度很小的干扰,对采样判决没有影响。
说明扩频系统能够很好抑制窄带强干扰。
同时从功率谱图知道可以发现窄带强干扰已经完全淹没在信号功率里。
8)、误码率分析
1、直接扩频系统信道模型
9)、伪随机序列的实现及仿真
1、m序列
m序列是最长线性移位寄存器序列的简称。
它是由多级移位寄存器或其他延迟元件通过线性反馈产生的最长的码序列。
由于m序列容易产生、规律性强、有许多优良的性能,在扩频通信中最早获得广泛的应用。
如下图所示,m序列可由二进制线性反馈移位寄存器产生。
它主要由n个串联的寄存器、移位脉冲产生器和模2加法器组成。
图中第i级移存器的状态ai表示,ai=0或ai=1,i=整数。
反馈线的连接状态用ci表示,ci=1表示此线接通(参加反馈),ci=0表示此线断开。
由于反馈的存在,移存器的输入端受控地输入信号。
不难看出,若初始状态为全“0”,则移位后得到的仍为全“0”,因此应避免出现全“0”状态,又因为n级移存器共有2n-1种可能的不同状态,除全“0”状态外,剩下2n-1种状态可用。
每移位一次,就出现一种状态,在移位若干次后,一定能重复出现前某一状态,其后的过程便周而复始了。
反馈线位置不同将出现不同周期的不同序列,我们希望找到线性反馈的位置,能使移存器产生的序列最长,即达到周期P=2n-1。
按图中线路连接关系,可以写为:
(模2)
该式称为递推方程。
图2.1线性反馈移位寄存器
上面曾经指出,ci的取值决定了移位寄存器的反馈连接和序列的结构。
现在将它用下列方程表示:
2、
这一方程称为特征多项式。
式中xi仅指明其系数ci的值(1或0),x本身的取值并无实际意义,也不需要去计算x的值。
例如,若特征方程为f(x)=1+x+x4则它仅表示x0,x1和x4的系数c0=c1=c4=1,其余为零。
经严格证明:
若反馈移位寄存器的特征多项式为本源多项式,则移位寄存器能产生m序列。
只要找到本源多项式,就可构成m系列发生器。
在matlab中使用gfprimfd(n,'
all'
)命令n为序列既可以算出本源多项式的系数。
例如:
gfprimfd(3,'
结果为:
ans=
1101
1011
gfprimfd(5,'
101001
100101
111101
111011
110111
101111
但是仅仅只有一部分是独立的。
如下图所示。
m序列生成函数:
function[mseq]=m_sequence(fbconnection)
n=length(fbconnection);
N=2^n-1;
re
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 直接 序列 系统 仿真