头歌:实验7(1)(2)

该文提供了四个Matlab实验,涉及随机信号的生成与显示,包括读取音频波形、绘制三角波、脉冲、正弦波和方波。接着介绍了典型噪声的生成,如均匀分布白噪音、高斯白噪音和窄带噪音。最后,文章演示了2ASK信号的调制与相干解调过程,包括调制信号的生成、加入噪声和解调方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验(1)Matlab典型随机信号模拟

第1关:典型随机信号 

任务描述

本关任务:编写一个能显示典型随机信号时域波形的程序。

相关知识 

为了完成本关任务,你需要掌握:1.如何读取或生成随机信号,2.如何显示随机信号波形。

输出:

  1. 你可以听到一段鸟鸣音频

  2. 显示波形图

答案

%%%%%%%%%%%%%%%%%%
%请不要修改
%%%%%%%%%%%%%%%%%
warning('off','all');
graphics_toolkit('gnuplot')
myFile = './task1/huochemingdi.wav';


% 1.读取 'myFile',请将数据命名为data
%%%%%%%%% Begin %%%%%%%%%

data=wavread(myFile);

%%%%%%%%% End %%%%%%%%%
%用于生成txt文件,请不要修改
save('./picans/data.txt','data');



% 2.显示波形
%%%%%%%%% Begin %%%%%%%%%

plot(data);

%%%%%%%%%%End %%%%%%%%%%%%
%用于生成图像,请不要修改
sa=pwd;
print(1,'-djpeg','./picture/step1/picture1.jpg');

 第2关:典型随机信号

任务描述

本关任务:使用 Matlab 生成几种典型的随机信号。

相关知识

为了完成本关任务,你需要掌握:1.几种随机信号生成函数,2.函数参数定义以及如何设置。这里的典型随机信号以三角波,脉冲,正弦,方波这四种为例。

答案

%%%%%%%%%%%%%%%%%%
pkg load signal
warning('off','all');
graphics_toolkit('gnuplot')
%请不要修改上述代码
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
t1 = -3*pi:0.0001:7*pi;
sp = sprintf('t1 is %d:',t1);

% 1.生成长度为t1的三角波
% 三角波命名为y1
%%%%%%%%% Begin %%%%%%%%%

y1=sawtooth(t1);

%%%%%%%%% End %%%%%%%%%

plot(t1,y1); 
%用于生成图像,请不要修改
sa=pwd;
print('-djpeg','./picture/step2/picture1.jpg');


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
t2 = -3:0.001:3;
w2 = 1.5;

% 2.生成长度为t2.宽度为w2的矩形脉冲
% 矩形脉冲命名为y2
%%%%%%%%% Begin %%%%%%%%%

y2=rectpuls(t2,w2);

%%%%%%%%% End %%%%%%%%%

%用于生成图像,请不要修改
plot(t2,y2);
sa=pwd;
print('-djpeg','./picture/step2/picture2.jpg');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
t3 = 0:pi/180:4*pi;

% 3.生成长度为t3的正弦波
% 正弦波冲命名为y3
%%%%%%%%% Begin %%%%%%%%%

y3=sin(t3);

%%%%%%%%% End %%%%%%%%%

%用于生成图像,请不要修改
plot(t3,y3);
sa=pwd;
print('-djpeg','./picture/step2/picture3.jpg');


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
t = -5:0.2:9;
t4 = pi./2*t;
duty = 20;
% 4.生成长度为t4,占空比为20的方波
% 方波冲命名为y4
%%%%%%%%% Begin %%%%%%%%%

y4=square(t4,duty);

%%%%%%%%% End %%%%%%%%%

%用于生成图像,请不要修改
plot(t4,y4);
sa=pwd;
print('-djpeg','./picture/step2/picture4.jpg');

第3关:典型噪音生成

任务描述

本关任务:用Matlab生成几种典型噪声。

相关知识

为了完成本关任务,你需要掌握:1.几种典型噪音生成函数,2.函数参数定义以及如何设置。

这里的典型噪音以均匀分布白噪音,高斯白噪音,窄带噪音为例;

答案

%%%%%%%%%%%%%%%%%%
%请不要修改
%%%%%%%%%%%%%%%%%%
pkg load signal
pkg load symbolic
pkg load communications
warning('off','all');
graphics_toolkit('gnuplot')

rand('seed',0)
m1 = 1000;
% 1.生成基于均值0,方差为sigma1,长度为m1的均匀分布白噪音;
% 输出命名为y1
%%%%%%%%% Begin %%%%%%%%%

y1=rand(m1);

%%%%%%%%% End %%%%%%%%%

plot(y1); 
%用于生成图像,请不要修改
sa=pwd;
print(1,'-djpeg','./picture/step3/picture1.jpg');


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
m2 = 1;
n2 = 600;
p2 = 8;
img = 5;
state = 50;
% 2.生成长度m2*n2,强度为p2的高斯白噪音,负载阻抗的欧姆数为img,并固定状态种子参数为state
% 输出命名为y2
%%%%%%%%% Begin %%%%%%%%%

y2=wgn(m2,n2,p2,img,state); 

%%%%%%%%% End %%%%%%%%%

%用于生成图像,请不要修改
plot(y2);
sa=pwd;
print(1,'-djpeg','./picture/step3/picture2.jpg');


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
b3 = fir1(64, 0.8);
rand('seed',0)
n3 = rand(1,200); 

% 3.使用b3信号对n3信号进行100倍的窄带滤通
% 输出命名为y3
%%%%%%%%% Begin %%%%%%%%%

y3=filter(b3,100,n3);

%%%%%%%%% End %%%%%%%%%

%用于生成图像,请不要修改
plot(y3);
sa=pwd;
print(1,'-djpeg','./picture/step3/picture3.jpg');

第4关:混合信号产生

任务描述

本关任务:编写能混合不同信号和噪音的函数并显示。

编程要求

根据提示,在右侧编辑器补充代码,读取txt文件信号,并进行信号混合,最后保存成txt文件。

答案 

%%%%%%%%%%%%%%%%%%
%请不要修改
%%%%%%%%%%%%%%%%%%
warning('off','all');
graphics_toolkit('gnuplot')
pkg load signal
pkg load symbolic
pkg load communications

m1 = 1;
n1 = 500;
p1 = 2;
state = 50;
y1 = wgn(m1,n1,p1,[],state); 

m2 = 1;
n2 = 500;
p2 = 8;
y2 = wgn(m2,n2,p2,[],state); 

A1 = 3;
A2 = 4;
% 1.对信号y1进行幅度操作A1,信号y2进行幅度操作A2,然后相加。
% 新信号命名为yf
%%%%%%%%% Begin %%%%%%%%%
yf=A1*y1+A2*y2;
%%%%%%%%% End %%%%%%%%%

plot(yf); 
%用于生成图像,请不要修改
sa=pwd;
print(1,'-djpeg','./picture/step4/picture1.jpg');
filename = './picture/step4/newData.txt';
% 2.保存新信号yf为txt文件filename
%%%%%%%%% Begin %%%%%%%%%
save(filename, 'yf')
%%%%%%%%% End %%%%%%%%%

实验(2)2ASK数字带通传输系统仿真设计

第1关:2ASK信号调制仿真实验

任务描述

对信号的调制,是搭建通信系统的第一步,本关主要实现的就是对信号的振幅键控调制。

答案 :数据太多,附上关键部分

%以上代码省略%


figure (1)
subplot(311);%输出图形排队6行1列,第1列 

%%%%%%%%% begin %%%%%%%%%

t=0.001:0.001:3;
for i=1:M
    m(1,60*(i-1)+1:(60*i))=a(i)*ones(1,60);
end
plot(t,m);

%%%%%%%%%  end  %%%%%%%%%

axis([0 3 -1.2 1.2]);%x、y轴范围 
title('information source');
st=zeros(1,3000);
subplot(312);%输出图形排队6行1列,第2列  

%%%%%%%%% begin %%%%%%%%%

f=150;
carry=cos(2*pi*f*t);
st=m.*carry;
plot(t,st);

%%%%%%%%%  end  %%%%%%%%%

axis([0 3 -1.2 1.2]) 
title('2ASK signal')
subplot(313)

%%%%%%%%% begin %%%%%%%%%

anst=noise+st;
plot(t,anst);

%%%%%%%%%  end  %%%%%%%%%

axis([0 3 -1.2 1.2]) 
title('2ASK signal and noise') 

%%%%%%%%%  test  %%%%%%%%%
sa=pwd;
print(1,'-djpeg','./picture/step1/student1.jpg')
run('./step1/test1plot.m')
system('python3 ./step1/test.py');

第2关:2ASK信号解调仿真实验

任务描述

经过上一关的任务,相信同学们已经完成了 2ASK 信号的调制,本关在上一关卡的基础上,对调制信号进行解调。

对于 2ASK 信号的解调,有两种基本方法:相干解调法(同步检测法)和非相干解调法(包络检波法)。

  • 相干解调需要将载频位置的已调信号频谱重新搬回原始基带位置,因此用相乘器与载波相乘来实现;
  • 非相干解调法则是不与载波相乘,而是通过一个全波整流器,再进行低通滤波抽样判决,来实现解调。

本关卡中选取相干解调的方法来实现调制信号的解调。

答案:同上省去数据部分,只列关键代码

%以上部分略去%



title('2ASK signal and noise') 
subplot(614) 


%%%%%%%%% begin %%%%%%%%%

nst=anst.*carry;
plot(t,nst);

%%%%%%%%%  end  %%%%%%%%%

axis([0 3 -1.2 1.2]);
title('signal multiply by carrier')
subplot(615) 

%%%%%%%%% begin %%%%%%%%%%

N=10;
wc=1010.5;
[B,A]=butter(N,wc,'s');
h=tf(B,A);
dst=lsim(h,nst,t);
plot(t,dst);

%%%%%%%%%  end  %%%%%%%%%

axis([0 3 -1.2 1.2]); 
title('after Low pass filtering signal'); 
subplot(616) 
pdst=zeros(1,3000);

%%%%%%%%% begin %%%%%%%%%

k=0.25;
pdst=1*(dst>0.25);
plot(t,pdst);

%%%%%%%%%  end  %%%%%%%%%

axis([0 3 -1.2 1.2]);
title('Sampling decision') 

%%%%%%%%% begin %%%%%%%%%

errornumber=0;
err=0;
for i=1:M
    if a(i)~=pdst(60*(i-1)+30);
         errornumber=errornumber+1;
    end
end
err=errornumber/M;

%%%%%%%%%  end  %%%%%%%%%


%%%%%%%%% test %%%%%%%%%
sa=pwd;
print(2,'-djpeg','./picture/step2/student2.jpg')
run('./step2/f_t_2.m');
system('python3 ./step2/test2.py');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值