题目6
一、实验内容:
(提取淹没在噪声中的周期信号)提取淹没在噪声中的周期信号要求自相关(以判断周期)和互相关(以恢复信号自身)。
(a)生成信号x[n] =sin(0.1*n*pi),0n499.增加一些均匀分布的随机噪声(其噪声幅度为2,平均值为0)以得到噪声信号s[n]。作出每个信号随参数n变化的图形。是否能够从所画的x[n]中判断出任何的周期性?如果可以,求周期N。能否由所画得s[n]判断出任何周期性?
(b)求x[n]的周期自相关rpx[n]并作图。能否由所作的rpx[n]判断出任何周期性?如果可以,求周期N。这个N是否与x[n]的周期相同?
(c)利用上面所求的N值(如果没有,则由x[n]判断)生成一个500样本的冲击串i[n](nkN), 0≤n≤499。求出s[n]和i[n]的周期互相关
二、实验目的
(1)熟悉一些常用函数的生成方法。 (2)练习用matlab绘制图形。
(3)用自相关和互相关提取淹没在噪声中的周期信号。 三、实验原理
周期信号和随机信号都是功率信号(功率信号是信号功率为有限正值而信号能量无限大)。自相关函数反映了一个信号与延迟k后的同一信号的相关程度。互相关函数反映了一个信号和延迟k后的另一信号的相关程度。一个功率信号的功率谱密度与信号的自相关函数是一对傅立叶变换关系。两个相同周期的功率信号的互功率谱与他们的周期互相关是一对傅立叶变换。 四、实验步骤简述
(1)生成信号x[n] =sin(0.1*n*pi),0n499. 和增加一些均匀分布的随机噪声(其噪声幅度为2,平均值为0)以得到噪声信号s[n]。 (2)(b)求x[n]的周期自相关(自相关函数xcorr())rpx[n]并作图。并读出周期
(3) 生成一个500样本的冲击串i[n](nkN), 0≤n≤499。计算是s(n)与i(n)的互相关xcorr(s,i); 五、程序框图
六、源程序
%第六题 close all; clear all; clc;
%第一问:编写生成周期信号X,随机噪声Y,噪声信号S %编写生成周期信号X n=0:1:499;
X=sin(0.1*n*pi); subplot(8,1,1); plot(X);
title('周期信号X'); hold;
%编写生成随机噪声Y n=0:1:499;
Y=-2+4*rand(1,500); subplot(8,1,2); plot(Y);
title('随机噪声Y'); hold;
%编写生成噪声信号S S=X+Y;
subplot(8,1,3); plot(S);
title('噪声信号S'); hold;
%第二问:求源周期信号X的自相关函数rpx rpx=xcorr(X,X); subplot(8,1,4); plot(rpx);
title('X的自相关函数'); hold;
%第三问:生成500样本的冲击串函数I,求I和S的互相关函数rev I=ones(1,500); %产生500样本的冲击串I m=1;
while m<=499 m=m+1;
d=mod(m,20); if d==0
I(1,m)=1; else
I(1,m)=0; end end
subplot(8,1,5); plot(I);
title('冲击函数I');
rpi=xcorr(I,I); %求冲击串I的自相关函数 subplot(8,1,6); plot(rpi);
title('I的自相关函数'); hold;
rps=xcorr(S,S); %求噪声信号S的自相关函数rps subplot(8,1,7); plot(rps);
title('S的自相关函数'); hold;
rev=xcov(I,S); %求冲击串I与S的互相关
subplot(8,1,8) plot(rev);
title('I与S的互相关');
七、程序结果及图表
八、实验总结
通过此实验我了解到Mutlab的一些基础知识,比如自相关函数和互相关函数了解,通过学习,进一步复习了周期信号的周期性的判断,知道了函数自相关和互相关的内涵,以及它们所实现的算法实质。
作为初次使用Matlab实现信号处理的题目,在实验过程中,我还是遇到了许多问题,例如对某些Matlab函数的功能不够清晰,对
subplot,zeros,ones,figure,title等函数的功能,以及它的操作。而且要对
数字信号处理的一些相关知识也有些遗忘,所以在复习数字信号处理后,我积极的向同学和老师请教,在他们的帮助下,我顺利完成了题目要求。
题目7
一、 实验内容:
该题目的是说明一个PN扩频信号在抑制正弦干扰中的有效性。现考虑下图所示的二进制通信系统,对信号发生器的输出乘上一个二进制(1)PN序列。同一个二进制PN序列用来与解调器输入相乘,因此消除了这个PN序列在期望信号上的影响。信道将传送信号受到一宽带加性噪声序列ω(n)和一正弦干扰序列i(n)=Asinω0n, 0<ω0<π的污损。可以假定A≥M,这里M是来自调制器的每比特的样本数。用和不用PN序列执行这个仿真系统,并在条件A≥M下,对不同的M值(如M=50,100,500,1000)测量差错率。画出每种情况的差错率曲线,作比较并说明结论。说明这个PN序列对于正弦干扰信号的效果。由此说明为什么PN扩频系统在正弦干扰信号存在下优于常规的二进制通信系统。
PN序列发生器 正弦信号发生器 p(n) i(n) 二进制数据 发生器 s(n) ω(n) 噪声发生器 输出 检测器和差错记数器 p(n) PN序列发生器 二、实验目的
(1)练习使用matlab软件。
(2)说明一个PN扩频信号在抑制正弦干扰中的有效性 三、实验原理
PN是通过线性移位寄存器产生的为随机序列。扩频通信理论基础是香农的信道容量公式。他告诉我们,未达到给定的信道容量要求,可以用带宽换取信噪比,即在低信噪比条件下可以用增大带宽的方法
无误的传送给定信息。 四、实验步骤简述
(1)产生一个二进制信源序列和一个PN序列。
(2) 按每比特M个采样点进行采样将(1)中两序列映射成-1+1序列。
(3)按照框图求出输出序列并设置门限将其转化为只含有-1+1的序列。
(4) 与采样后的信源进行比较计算出信噪比和差错率。绘制出信噪比差错率的图形。
(5)不加PN时按题中框图计算出输出序列设置门限将其转化为只含有-1+1的序列。
(6)与二进制信源进行比较计算出信噪比和差错率。绘制出信噪比差错率的图形。并与加PN序列的图形比较。
(7)取不同的采样点M重复上述操作。比较不同M产生的信噪比差错率的图形。 五、程序框图
开始
调用子程序产生二进制数据序列
否 是否加PN序列
是 调用噪声子程序与信号叠加 调用PN产生子程序与信号相乘
调用噪声子程序与上输出信号叠加
调用PN产生子程序与输出信号相乘
调用差错检测程序计算信号前后差错率
调用绘图子程序绘制差错率-信噪比曲线
结束
六、源程序
function []=ti7() while(1)
fprintf('如果M输入0,则退出程序\\n');
M=input('请输入样本数M(50,100,500,1000)='); if M==0 break; else