通信仿真实验10071213.docx
- 文档编号:18083790
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:61
- 大小:949.85KB
通信仿真实验10071213.docx
《通信仿真实验10071213.docx》由会员分享,可在线阅读,更多相关《通信仿真实验10071213.docx(61页珍藏版)》请在冰豆网上搜索。
通信仿真实验10071213
通信仿真实验
学号:
10071213
姓名:
胡帆
1实验二滤波器的设计和仿真实现··········2
2实验四随机过程的计算机仿真··········12
3实验七数字基带调制··········16
4信号的功率谱与带限信道的滤波器等效··········20
5实验:
基带传输最佳接收机仿真··········26
64psk传输的误码率仿真··········34
74PAM系统的MonteCarlo仿真··········37
8信号的功率谱与带限信道的滤波器等效·········41
实验二滤波器的设计和仿真实现
————实验日期:
2013.10.27
实验目的:
各种滤波器的设计与仿真实现。
实验内容:
1.题目一:
试设计一个模拟低通滤波器,fp=3500Hz,fs=4500Hz,αp=3dB,αs=25dB。
分别用巴特沃斯和椭圆滤波器原型,求出其3dB截止频率和滤波器阶数,传递函数,并作出幅频、相频特性曲线。
实验程序1巴特沃斯型:
clear;
f_p=3500;f_s=4500;R_p=3;R_s=25;
[n,fn]=buttord(f_p,f_s,R_p,R_s,'s');
Wn=2*pi*fn;
[b,a]=butter(n,Wn,'s');
f=0:
100:
10000;
s=j*2*pi*f;
H_s=polyval(b,s)./polyval(a,s);
figure
(1);
subplot(2,1,1);plot(f,20*log10(abs(H_s)));
axis([010000-401]);
xlabel('频率Hz');ylabel('幅度dB');
subplot(2,1,2);plot(f,angle(H_s));
xlabel('频率Hz');ylabel('相角rad');
figure
(2);freqs(b,a);
实验结果1:
实验程序2椭圆滤波器型:
clear;
f_p=3500;f_s=4500;R_p=3;R_s=25;
[n,fn]=ellipord(f_p,f_s,R_p,R_s,'s');
Wn=2*pi*fn;
[b,a]=ellip(n,R_p,R_s,Wn,'s');
f=0:
100:
10000;
s=j*2*pi*f;
H_s=polyval(b,s)./polyval(a,s);
figure
(1);
subplot(2,1,1);plot(f,20*log10(abs(H_s)));
axis([010000-401]);
xlabel('频率Hz');ylabel('幅度dB');
subplot(2,1,2);plot(f,angle(H_s));
xlabel('频率Hz');ylabel('相角rad');
figure
(2);freqs(b,a);
实验结果2:
2.题目二:
试设计一个巴特沃斯型数字低通滤波器,设采样率为8000Hz,fp=2100Hz,fs=2500Hz,αp=3dB,αs=25dB。
并作出幅频、相频特性曲线。
实验程序:
f_N=8000;
f_p=2100;f_s=2500;R_p=3;R_s=25;
Ws=f_s/(f_N/2);Wp=f_p/(f_N/2);
[n,Wn]=buttord(Wp,Ws,R_p,R_s);
[b,a]=butter(n,Wn);
figure
(1);
freqz(b,a,1000,8000)
subplot(2,1,1);axis([04000-303])
figure
(2);
f=0:
40:
4000;
z=exp(j*2*pi*f./(f_N));
H_z=polyval(b,z)./polyval(a,z);
subplot(2,1,1);plot(f,20*log10(abs(H_z)));
axis([04000-401]);
xlabel('频率Hz');ylabel('幅度dB');
subplot(2,1,2);plot(f,angle(H_z));
xlabel('频率Hz');ylabel('相角rad');
实验结果:
3.题目三:
试设计一个切比雪夫1型高通数字滤波器,采样率为8000Hz,fp=1000Hz,fs=700Hz,αp=3dB,αs=20dB。
并作出幅频、相频特性曲线。
实验程序:
f_N=8000;
f_p=1000;f_s=700;R_p=3;R_s=20;
Ws=f_s/(f_N/2);Wp=f_p/(f_N/2);
[n,Wn]=cheb1ord(Wp,Ws,R_p,R_s);
[b,a]=cheby1(n,R_p,Wn,'high');
freqz(b,a,1000,8000)
subplot(2,1,1);axis([04000-303])
实验结果:
4.题目四:
试设计一个椭圆型带通数字滤波器。
设采样率为10000Hz,fp=[1000,1500]Hz,fs=[600,1900]Hz,αp=3dB,αs=20dB。
并作出幅频、相频特性曲线。
实验程序:
f_N=10000;
f_p=[1000,1500];f_s=[600,1900];R_p=3;R_s=20;
Ws=f_s/(f_N/2);Wp=f_p/(f_N/2);
[n,Wn]=ellipord(Wp,Ws,R_p,R_s);
[b,a]=ellip(n,R_p,R_s,Wn);
freqz(b,a,1000,10000)
subplot(2,1,1);axis([05000-303])
实验结果:
5.题目五:
试设计一个切比雪夫2型带阻数字滤波器。
设采样率为10000Hz,fp=[1000,1500]Hz,fs=[1200,1300]Hz,αp=3dB,αs=20dB。
并作出幅频、相频特性曲线。
实验程序:
f_N=10000;
f_p=[1000,1500];f_s=[1200,1300];R_p=3;R_s=20;
Ws=f_s/(f_N/2);Wp=f_p/(f_N/2);
[n,Wn]=cheb2ord(Wp,Ws,R_p,R_s);
[b,a]=cheby2(n,R_s,Wn,'stop');
freqz(b,a,1000,10000)
subplot(2,1,1);axis([05000-353])
实验结果:
6.题目六:
在采样率为8000Hz下设计一个在500Hz,1000Hz,1500Hz,2000Hz,...,n*500Hz的地方开槽陷波。
陷波带宽(-3dB处)为60Hz。
试设计该滤波器。
实验程序:
Fs=8000;Ts=1/8000;
f0=500;
bw=60/(Fs/2);
ab=-3;
n=Fs/f0;
[num,den]=iircomb(n,bw,ab,'notch');
freqz(num,den,4000,8000);
axis([04000-305]);
实验结果:
7.题目七:
用Matlab设计具有下列指标的线性相位FIR低通滤波器:
阻带截止频率为0.45π和0.8π,通带截止频率为0.55π和0.7π,最大通带衰减为0.15dB,最小阻带衰减为40dB。
分别用下面的窗函数来设计滤波器:
海明窗、汉宁窗、布莱克曼窗和凯泽窗。
对于每种情况,显示其冲激响应系数并画出设计的滤波器增益响应。
分析设计结果。
实验程序:
closeall
Omegap=0.7*pi;
Omegas=0.8*pi;
Omegat=18;
wp=2*pi*Omegap/Omegat;
ws=2*pi*Omegas/Omegat;
alphap=0.15;
alphas=40;
NUM_Hamming=1;
NUM_Hann=2;
NUM_Blackman=3;
NUM_Kaiser=4;
c=[3.32,3.11,5.56]*pi;
wc=(ws+wp)/2;
delt_w=ws-wp;
freq_labels={'用海明窗设计的FIR频率响应','用汉宁窗设计的FIR频率响应','用布莱克曼窗设计的FIR频率响应'};
ht_labels={'海明窗FIR冲激响应','汉宁窗FIR冲激响应','布莱克曼窗FIR响应'};
forfilter_kind=NUM_Hamming:
NUM_Kaiser,
M=ceil(c(filter_kind)/delt_w);
N=2*M+1;
switchfilter_kind,
caseNUM_Hamming,
win=hamming(N);
display(['海明窗生成的冲激响应系数:
','(阶数N=',num2str(N),')']);
figure
caseNUM_Hann,
win=hann(N);
display(['汉宁窗生成的冲激响应系数:
','(阶数N=',num2str(N),')']);
figure
caseNUM_Blackman,
win=blackman(N);
display(['布莱克曼窗生成的冲激响应系数:
','(阶数N=',num2str(N),')']);
figure
otherwisedisp('error');
end
n=-M:
M;
hd=sin(wc*n)./(pi*n);
hd(find(n==0))=wc*cos(wc*0)/pi;
ht=hd.*win';
display(['',num2str(ht)]);
subplot(1,2,1);
plot(n,ht,'.-')
title(ht_labels(filter_kind));
xlabel('n','FontSize',12);
ylabel('ht','fontsize',12);
gridon
[h,w]=freqz(ht,1,512);
W=w/pi;
H=20*log10(abs(h));
subplot(1,2,2);
holdon
title(freq_labels(filter_kind));
plot(W,H);
xlabel(['pi(omega/omega','s)']);
ylabel('增益(dB)');
gridon
end
凯泽窗程序:
Wp=0.7*pi;
Ws=0.8*pi;
As=40;
dw=Ws-Wp;
N=ceil(10*pi/dw)+1;
beta=0.5842*(As-21)^0.4+0.07886*(As-21);
b=fir1(N,Wp/pi,'low',kaiser(N+1,beta));
figure(3)
freqz(b,1);
title(’凯泽窗响应’);
实验结果:
实验四随机过程的计算机仿真
——-实验日期:
2013.10.20
实验目的:
仿真实现各种随机分布的随机数发生器
实验内容:
1、题目一:
均匀分布随机数的产生
用线性同余法,编写Matlab程序,产生均匀分布的随机数。
初始种子x(0)自己选择。
实验程序1:
a=input('Entermultipliera>');
c=input('Enteroffsetc>');
m=input('Entermodulusm>');
seed=input('Enterseed>');
n=1;ix=rem((seed*a+c),m);
while((ix~=seed)&(n n=n+1; ix=rem((ix*a+c),m); end if(n>m) disp('Caughtinaloop'); else text=['Theperiodis',num2str(n,15),'.']; disp(text); end 实验结果1: Entermultipliera>241 Enteroffsetc>1323 Entermodulusm>5000 Enterseed>1 Theperiodis5000. 2、题目二: 用反函数法,将均匀分布的随机变量变换为具有单边指数分布的随机变量。 编写Matlab程序,产生指数分布的随机数。 计算并比较理论pdf和从直方图得到的pdf。 指数分布随机变量pdf定义为: , 为单位阶跃函数。 实验程序2: n=input('输入样点个数>'); a=5; u=rand(1,n); x_exp=-log(2*u)/a; [N_sample,x]=hist(x_exp,20); subplot(2,1,1) bar(x,N_sample,1) ylabel('样本个数') xlabel('变量x') px=a/2*exp(-a*x); P_hist=N_sample/n; del_x=x (2)-x (1); p_hist=N_sample/n/del_x; subplot(2,1,2) plot(x,px,'k',x,p_hist,'ok') ylabel('概率密度') xlabel('变量x') legend('期望pdf','仿真得到pdf',1) 实验结果2: N=2000,指数分布 3、题目三: 用Matlab编程分别产生标准正态分布、指定均值方差正态分布、瑞利分布、赖斯分布、中心与非中心χ2分布的随机数,并画出相应的pdf。 实验程序3: x=-10: 0.01: 10 y1=normpdf(x,0,1); figure plot(x,y1) xlabel('标准正态分布') ylabel('pdf') y2=normpdf(x,2,1); figure plot(x,y2) xlabel('正态分布') ylabel('pdf') sigma=3 s=sigma^2 y3=x/s.*exp(-x.^2/s) %subplot(1,3,3) figure plot(x,y3) xlabel('瑞利分布') ylabel('pdf') N=100000; K=0.5; const=1/(2*(K+1)); a1=randn(1,N); b2=randn(1,N); a=sqrt(const*((a1+sqrt(2*K)).^2+a2.^2)); [y4,ai]=ksdensity(a); figure plot(ai,y4,'bo') xlabel('莱斯分布') ylabel('pdf') p1=ncfpdf(x,5,20,10); p=fpdf(x,5,20); figure plot(x,p,'--',x,p1,'-') xlabel('非中心f分布') ylabel('pdf') 实验结果3: 4、题目四: 设输入的随机变量序列X(n)为N=1000独立同分布高斯分布的离散时间序列,均值为0,方差为1,采样间隔0.01s。 通过某线性时不变滤波器,输出随机变量序列Y(n)的功率谱密度为: (1)设计该滤波器 (2)产生随机变量序列Y(n)。 实验程序4: fs=100; f=0: 1: 50; F=2*f/fs; M=10./sqrt(1+(2*pi.*f).^2); [b,a]=yulewalk(20,F,M); plot(F,M) xlabel('¹éÒ»»¯ÆµÂÊ') ylabel('·ù¶ÈÏìÓ¦') N=1000; X=randn(1,N); Y=filter(b,a,X) 实验结果4: 实验七数字基带调制 ————实验日期: 2013.10.20 实验目的: 数字通信系统中,基带传输的仿真。 实验内容: 1.题目一: 用MATLAB编程仿真实现四进制脉冲幅度调制(PAM)数字通信系统,并用蒙特卡罗仿真方法计算在信道为加性高斯白噪声时,该系统在不同信噪比下的差错概率。 实验程序1: clc;clearall; SNRindB1=0: 1: 16; SNRindB2=0: 0.2: 16; fori=1: length(SNRindB1), simu_err_prb(i)=simuPe(SNRindB1(i)); end; fori=1: length(SNRindB2), SNR=10^(SNRindB2(i)/10); theo_err_prb(i)=(3/2)*Qfunc(sqrt((2/5)*SNR)); end; semilogy(SNRindB2,theo_err_prb,SNRindB1,simu_err_prb,'o') axis([0160.00011]) xlabel('SNRindB') ylabel('PrbofErr') legend('Theoretical','Simulation') functiony=gngauss(sgma) y=sgma*randn function[p]=simuPe(snr_in_dB) d=1; A0=-3*d;A1=-d;A2=d;A3=3*d; SNR=10^(snr_in_dB/10); sgma=sqrt((5/2)*d^2/SNR); N=10000; fori=1: N temp=rand; if(temp<1/4) symbol(i)=0; elseif(temp<2/4) symbol(i)=1; elseif(temp<3/4) symbol(i)=3; else symbol(i)=2; end; end; numoferr=0; fori=1: N if(symbol(i)==0) r=A0+gngauss(sgma); elseif(symbol(i)==1) r=A1+gngauss(sgma); elseif(symbol(i)==3) r=A2+gngauss(sgma); else r=A3+gngauss(sgma); end; if(abs(r-A0) deci_symbol=0; elseif(abs(r-A1) deci_symbol=1; elseif(abs(r-A2) deci_symbol=3; else deci_symbol=2; end; if(deci_symbol~=symbol(i)) numoferr=numoferr+1; end; end; p=numoferr/N; 实验结果1: 2.题目二: 设计FIR根升余弦滤波器,具体指标如下: (1)码片速率为1.28MHz,采样率为4倍码片速率 (2)滚降系数0.22,冲激响应序列长度为65 实验程序2: N_T=8; R=0.22 Fc=1.28e+6; Fs=4*Fc; Tc=1.0e-6/1.28; Num=rcosfir(R,N_T,4,Tc,'sqrt'); [H,w]=freqz(Num,[1],1000,'whole'); H=(H(1: 1: 501))'; w=(w(1: 1: 501))'; Mag=abs(H); db=20*log10((Mag)/max(Mag)); pha=angle(H); plot(w/pi,db);grid; axis([01-601]); xlabel('归一化角频率');ylabel('RRC滤波器幅度响应(db)'); 实验结果2: 3.题目三: 产生一串(-1.1)均匀分布的随机序列,并对该序列进行脉冲成形滤波。 实验程序3: clear clc N_Filter=8; R=0.22 Fc=1.28e+6; Rate=4; Fs=Rate*Fc; Tc=1.0e-6/1.28; Delay=8; NSig=16; Sig=[1,zeros(1,15)]; Y=RCOSFLT(Sig,Fc,Fs,'fir/sqrt',R,Delay); Xaxis=[1: 0.25: 2*NSig+0.75]; figure (1) subplot(211),stem(Sig),grid,Xlabel('k=t/Tc=t/Ts/4'),axis([016-0.21.2]); subplot(212),stem(Xaxis,Y),Xlabel('k=t/Tc=t/Ts/4'),axis([016-0.20.8]),grid 实验结果3: 信号的功率谱与带限信道的滤波器等效 ------实验日期: 2013.11.24 实验目的: 数字调制信号功率谱; 使用Remez方法设计滤波器仿真带限信道; 使用窗函数法设计滤波器仿真带限信道 升余弦滤波器设计; 滤波器的频域分析方法 实验内容: 1.使用Remez方法设计: 实验程序: echoon f_cutoff=2000; f_stopband=3000; fs=50000; f1=2*f_cutoff/fs; f2=2*f_stopband/fs; N=101; F=[0f1f21]; M=[1100]; B=remez(N-1,F,M); figure (1); [H,W]=freqz(B); H_in_dB=20*log10(abs(H)); plot(W/(2*pi),H_in_dB); figure (2); plot(W/(2*pi),(180/pi)*unwrap(angle(H))); figure(3); plot(zeros(size([0: N-1]))); hold; stem([0: N-1],B); 实验结果: 2.使用窗函数法,窗函数为矩形窗,汉宁窗 实验程序: echoon Length=101; Fs=50000; W=1000; Ts=1/Fs; n=-(Length-1)/2: (Length-1)/2; t=Ts*n; h=2*W*sinc(2*W*t); N=61; rec_windowed_h=h((Length-N)/2+1: (Length+N)/2); [rec_windowed_H,W1]=freqz(rec_windowed_h,1); rec_window
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信 仿真 实验 10071213