可以假定A≥M,这里M是来自解调器的每比特的样本数。
用和不用PN序列执行这个仿真系统,并在条件A≥M下,对不同的M值(如M=50,100,500,1000)测量差错率。
画出每种情况的差错率曲线,作比较并说明结论。
说明这个PN序列对于正弦干扰信号的效果。
由此说明为什么PN扩频系统在正弦干扰信号存在下优于常规的二进制通信系统。
实验目的:
(1)学习扩频序列的含义与实现。
(2)一个简单的通信系统,即令信号通过一个有噪声的系统,对加上PN序列和不加PN序列后的差错率比较,说明扩频序列在抑制正弦干扰中的有效性。
实验原理:
信号S(n)与PN扩频序列相乘(异或实现)后,经过叠加正弦噪声,然后再与序列相乘恢复出经过系统后的信号,与原输入信号相比较后得到差错率。
根据差错率可以证明PN扩频信号是否有利于通信系统中正弦噪声的抑制。
实验步骤简述:
(1)理解PN序列概念,编写PN序列产生子函数。
(2)编写输入信号及噪声子函数。
(3)通过对子函数的调用实现通信系统,比较输入前后信号的差错率。
(4)通过画图程序输出差错率-信噪比图像。
程序流程图:
否
是
程序源程序:
function[]=main()clearall;
clc;while
(1)
k=input('请选择序列长度M:
\n1----M=50\n2----M=100\n3----M=500
\n4----M=1000\n0----quit\n');ifk==1
N=50;A=N+10;K=50;P=15;C=20;wc(A,N,K,P,C);
elseifk==2N=100;A=N+10;K=100;P=25;C=40;
wc(A,N,K,P,C);elseifk==3
N=500;A=N+10;K=500;P=50;C=80;wc(A,N,K,P,C);
elseifk==4N=1000;A=N+100;K=1100;P=150;C=100;
wc(A,N,K,P,C);elseifk==0
break;end;end;end;end;end;end;function[]=wc(A,N,K,P,C)
%-------------二进制随机序列x=rand(1,N);%产生0到1之间的数
i=1:
N;x(i)=x(i)<0.5;%01判决%------------------------PN序列
p=rand(1,N);PN=(sign(p-0.5+eps)+1)/2;
%--------------干扰正弦信号w=0.3*pi;
n=1:
N;s(n)=A*sin(w*n);
%----------------噪声wzao=randn(1,N);
%---------信噪比与误差率的计算fork=1:
20%k为增益
K=K+P;%P为增益增加量x1=mod(x+PN,2)*K;%模二加
x2=x1+s;zao=C*wzao;
i=1:
N;x3(i)=x2(i)+zao(i);%有PN
xw(i)=K*x(i)+s(i)+zao(i);%无PNxa=xw>K/2.5;%不加PN序列的判决门限
y1=x3>K/2.5;%加PN序列的判决门限y=mod(y1+PN,2);%解调
i=1:
N;p0=x(i)~=y(i);%加PN满足条件的点
p2=x(i)~=xa(i);p1=length(find(p0));
p3=length(find(p2));Pe(k)=p1/N;%加PN序列的误差率
Pew(k)=p3/N;%不加PN序列的误差率i=1:
N;
we=0;%功率为0we=we+x1(i).^2;%加PN的输入信号功率
wew=we+(K*x(i)).^2;p=we/N;%加PN序列的平均功率
pw=wew/N;%不加PN序列的平均功率j=1:
N;
se=0;se=se+s(j).^2+zao.^2;
sp=se/N;sn(k)=p/sp;%加PN序列的性噪比
snw(k)=pw/sp;%不加PN序列的性噪比
end;%-----------------画图
figure;stem(sn,Pe,'.');holdon;
stem(snw,Pew,'r','.');xlabel('信噪比');ylabel('差错率');
%axis([0,25,0,0.35]);title('信噪比与差错率曲线');grid;
legend('加PN序列','不加PN序列')
程序仿真测试结果及图表:
M=50M=100
M=500M=1000
实验总结:
相同采样点数情况下,随信噪比增大,差错率减小。
在信噪比过大时,实际不容易实现,因此对信噪比应控制在实际范围内。
不同采样点数情况下,随采样点数增加,差错率也增加。
信噪比过大时,差错率无意义。
在相同信噪比与采样点数时,加上PN序列的差错率小于不加PN序列的差错率,由此可以说明PN扩频系统在正弦干扰信号存在下优于常规的二进制通信系统。
实验三
实验题目:
设原N点序列的DFT为验证以下序列的DFT与X(k)的关系:
1、x1(n)=
,
2、x2(n)=x(2n),
3、x3(n)=x(2n+1),
4、x4(n)=
,
5、x5(n)=[x(n)+x(n+N/2)],
6、x6(n)=[x(n)-x(n+N/2)]
,
7、x7(n)=
实验目的:
(1)加深DFT算法原理和基本性质的理解。
通过DFT图象比较出个序列之间的关系。
(2)对Matlab软件有初步的了解,并能用其编写简单的程序计算DFT。
(3)熟悉DFT的算法原理和DFT子程序的应用。
实验原理:
用函数FFT便能直接求出DFT,通过比较图象便能看出他们之间的关系。
实验步骤简述:
(1)设定一个随机序列;
(2)做这个序列的快速傅里叶变换;
(3)根据原序列与新序列的关系,做出新序列的程序;
(4)做新序列的快速傅里叶变换;
(5)输出波形。
程序流程图:
程序源程序:
第8
(1)题:
x1(n)=
clearall;
N=14;xn=rand(1,N);Xk=fft(xn,N);
subplot(2,2,1);stem(abs(xn),'.');title('xn');subplot(2,2,2);
stem(abs(Xk),'.','r');title('Xk');axis([014010]);
M=2*N;
fori=2:
2:
M;
x1n(1,i)=xn(1,i/2);
end;
forj=1:
2:
M-1;x1n(1,j)=0;
end;
X1k=fft(x1n,M);subplot(2,2,3);stem(abs(x1n),'.');title('x1n');
subplot(2,2,4);stem(abs(X1k),'.','r');title('X1k');axis([028010]);
第8
(1)题:
程序仿真测试结果及图表:
第8
(2)题:
程序仿真测试结果及图表:
关系:
X1k是Xk的2倍,即对Xk进行周期延拓关系:
新序列的第n点的X2k值是原序列第n/2点的值,即为抽原序列的偶数点,比原序列缩短一半。
第8
(2)题:
x2(n)=x(2n)
clearall;
N=14;xn=rand(1,N);Xk=fft(xn,N);subplot(2,2,1);stem(abs(xn),'.');
title('xn');axis([01401]);subplot(2,2,2);stem(abs(Xk),'.','r');
title('Xk');axis([014010]);
M=N/2;
fori=1:
Mx2n(1,i)=xn(1,i*2);
end;
X2k=fft(x2n,M);subplot(2,2,3);stem(abs(x2n),'.');title('x2n');
axis([0701]);subplot(2,2,4);stem(abs(X2k),'.','r');title('X2k');
axis([08010]);
第8(3)题:
x3(n)=x(2n+1)
clearall;
N=14;xn=rand(1,N);Xk=fft(xn,N);subplot(2,2,1);stem(abs(xn),'.');title('xn');
axis([01401]);subplot(2,2,2);stem(abs(Xk),'.','r');title('Xk');
M=N/2;
fori=1:
M
x3n(1,i)=xn(1,i*2-1);
end;
X3k=fft(x3n,M);subplot(2,2,3);stem(abs(x3n),'.');title('x3n');axis([0701]);
subplot(2,2,4);stem(abs(X3k),'.','g');title('X3k');
第8(3)题:
程序仿真测试结果及图表:
第8(4)题:
程序仿真测试结果及图表:
关系:
新序列的X3k值是为抽原序列的关系:
x4n是xn的周期延拓,X4k是Xk的偶数点插
奇数点,比原序列缩短一半。
零。
第8(4)题:
x4(n)=
clearall;
N=14;xn=rand(1,N);Xk=fft(xn,N);
subplot(2,2,1);stem(abs(xn),'.');title('xn');axis([01401]);subplot(2,2,2);
stem(abs(Xk),'.','r');title('Xk');M=2*N;n=0:
M;x4n=xn(mod(n,N)+1);
X4k=fft(xn,M);subplot(2,2,3);stem(abs(x4n),'.');title('x4n');axis([02801]);
subplot(2,2,4);stem(abs(X4k),'.','r');title('X4k');
第8(5)题:
x5(n)=[x(n)+x(n+N/2)]
clearall;
N=14;xn=rand(1,N);Xk=fft(xn,N);subplot(2,2,1);stem(abs(xn),'.');title('xn');
axis([01401]);subplot(2,2,2);stem(abs(Xk),'.','r');
title('Xk');axis([014010]);
M=N/2;
fori=1:
Mx5n(1,i)=xn(1,i)+xn(1,i+M);end;
X5k=fft(x5n,M);subplot(2,2,3);stem(abs(x5n),'.');title('x5n');
subplot(2,2,4);stem(abs(X5k),'.','r');title('X5k');
第8(5)题:
程序仿真测试结果及图表:
第8(6)题:
程序仿真测试结果及图表:
关系:
时域x5n抽取xn的一个周期,频关系:
频域X6k是抽取Xk的偶数点。
域X5k抽取Xk的奇数点。
第8(6)题:
x6(n)=[x(n)-x(n+N/2)]
clearall;
N=14;xn=rand(1,N);Xk=fft(xn,N);subplot(2,2,1);stem(abs(xn),'.');title('xn');
axis([01401]);subplot(2,2,2);stem(abs(Xk),'.','r');
title('Xk');axis([014010]);M=N/2;WN=exp(-j*2*pi/N);
fori=1:
M
x6n(1,i)=(xn(1,i)-xn(1,i+M))*(WN^i);
end;
X6k=fft(x6n,M);subplot(2,2,3);stem(abs(x6n),'.');title('x6n');
subplot(2,2,4);stem(abs(X6k),'.','r');title('X6k');
第8(7)题:
x7(n)=
clearall;
N=14;xn=rand(1,N);Xk=fft(xn,N);
subplot(2,2,1);stem(abs(xn),'.');title('xn');
axis([01401]);subplot(2,2,2);stem(abs(Xk),'.','r');title('Xk');axis([014010]);M=2*N;x7n=[xnzeros(1,N)];
X7k=fft(x7n,M);subplot(2,2,3);stem(abs(x7n),'.');title('x7n');
axis([02801]);subplot(2,2,4);stem(abs(X7k),'.','r');
title('X7k');axis([028010]);
第8(7)题:
程序仿真测试结果及图表:
关系:
时域补零,频域扩展。
实验总结:
通过这道题了解了离散傅立叶变换的性质,时域插零频域延拓,了解了栅栏效应。
认识了时域基2的FFT和频域FFT。
知道了数字信号处理这门课程理论与实践相结合的重要性。
西安邮电大学电子工程学院专业课程设计过程考核表
学生姓名
***
班级/学号
*****
承担任务实验室(单位)
图象处理与GPU
所在部门
电子信息工程系
实施时间
*年*月*日—*年*月*日
具体内容
第一周
集中讲解课程设计的目的及要求;介绍数字信号处理课程设计的一般方法和步骤;布置课程设计题目;学生查阅相关资料。
设计题目一;设计题目二;设计题目三;
第二周
设计题目四;设计题目六;设计题目七;设计题目八。
完成设计报告,开始验收。
召开课程设计总结交流会。
总结交流学生在课程设计中具有特色的算法设计思想和调试程序方法。
指导教师(师傅)姓名
吴成茂
职务或职称
高级工程师
指导教师(师傅)
对学生的评价
学习态度
□认真□一般□不认真
学习纪律
□全勤□偶尔缺勤□经常缺勤
实践能力
□很强□一般□较差
指导教师(师傅)对学生专业知识或社会实践能力等情况的意见
指导教师(师傅)签字
年月日
西安邮电大学电子工程学院专业课程设计成绩鉴定表
学生姓名
*
班级/学号
*
进行时间
*年*月*日—*年*月**日
成绩鉴定
实习内容(20分)
与计划任务或毕业设计结合程度(10分)
与专业结合程度(6分)
其它(4分)
实习单位评价
(20分)
实践能力(10分)
实习态度(6分)
实习纪律(4分)
成果鉴定
(60分)
成果内容与实习单位业务紧密结合(10分)
成果内容与实际应用紧密结合(10分)
成果内容与毕业设计紧密结合(10分)
报告质量(结构、规范、逻辑、图表、中英文献资料、字数等30分)
评阅教师姓名
吴成茂
职称
高级工程师
实习成绩
评语
评阅教师签字
年月日