通信仿真实验10071213Word格式.docx
《通信仿真实验10071213Word格式.docx》由会员分享,可在线阅读,更多相关《通信仿真实验10071213Word格式.docx(25页珍藏版)》请在冰豆网上搜索。
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));
相角rad'
figure
(2);
freqs(b,a);
实验结果1:
实验程序2椭圆滤波器型:
[n,fn]=ellipord(f_p,f_s,R_p,R_s,'
[b,a]=ellip(n,R_p,R_s,Wn,'
实验结果2:
2.题目二:
试设计一个巴特沃斯型数字低通滤波器,设采样率为8000Hz,fp=2100Hz,fs=2500Hz,αp=3dB,αs=25dB。
并作出幅频、相频特性曲线。
实验程序:
f_N=8000;
f_p=2100;
f_s=2500;
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);
freqz(b,a,1000,8000)
axis([04000-303])
40:
4000;
z=exp(j*2*pi*f./(f_N));
H_z=polyval(b,z)./polyval(a,z);
plot(f,20*log10(abs(H_z)));
axis([04000-401]);
plot(f,angle(H_z));
实验结果:
3.题目三:
试设计一个切比雪夫1型高通数字滤波器,采样率为8000Hz,fp=1000Hz,fs=700Hz,αp=3dB,αs=20dB。
f_p=1000;
f_s=700;
R_s=20;
[n,Wn]=cheb1ord(Wp,Ws,R_p,R_s);
[b,a]=cheby1(n,R_p,Wn,'
high'
freqz(b,a,1000,8000)
实验结果:
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];
[n,Wn]=ellipord(Wp,Ws,R_p,R_s);
[b,a]=ellip(n,R_p,R_s,Wn);
freqz(b,a,1000,10000)
axis([05000-303])
5.题目五:
试设计一个切比雪夫2型带阻数字滤波器。
设采样率为10000Hz,fp=[1000,1500]Hz,fs=[1200,1300]Hz,αp=3dB,αs=20dB。
f_s=[1200,1300];
[n,Wn]=cheb2ord(Wp,Ws,R_p,R_s);
[b,a]=cheby2(n,R_s,Wn,'
stop'
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);
汉宁窗生成的冲激响应系数:
caseNUM_Blackman,
win=blackman(N);
布莱克曼窗生成的冲激响应系数:
(阶数N='
otherwisedisp('
error'
end
n=-M:
M;
hd=sin(wc*n)./(pi*n);
hd(find(n==0))=wc*cos(wc*0)/pi;
ht=hd.*win'
;
num2str(ht)]);
subplot(1,2,1);
plot(n,ht,'
.-'
)
title(ht_labels(filter_kind));
xlabel('
n'
FontSize'
12);
ylabel('
ht'
fontsize'
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)'
增益(dB)'
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<
m+2))
n=n+1;
ix=rem((ix*a+c),m);
end
if(n>
m)
disp('
Caughtinaloop'
else
text=['
Theperiodis'
num2str(n,15),'
.'
];
disp(text);
241
1323
5000
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)
样本个数'
)
变量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'
概率密度'
legend('
期望pdf'
仿真得到pdf'
1)
N=2000,指数分布
3、题目三:
用Matlab编程分别产生标准正态分布、指定均值方差正态分布、瑞利分布、赖斯分布、中心与非中心χ2分布的随机数,并画出相应的pdf。
实验程序3:
x=-10:
0.01:
10
y1=normpdf(x,0,1);
figure
plot(x,y1)
标准正态分布'
pdf'
y2=normpdf(x,2,1);
plot(x,y2)
正态分布'
sigma=3
s=sigma^2
y3=x/s.*exp(-x.^2/s)
%subplot(1,3,3)
plot(x,y3)
瑞利分布'
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);
plot(ai,y4,'
bo'
莱斯分布'
p1=ncfpdf(x,5,20,10);
p=fpdf(x,5,20);
plot(x,p,'
--'
x,p1,'
-'
非中心f分布'
实验结果3:
4、题目四:
设输入的随机变量序列X(n)为N=1000独立同分布高斯分布的离散时间序列,均值为0,方差为1,采样间隔0.01s。
通过某线性时不变滤波器,输出随机变量序列Y(n)的功率谱密度为:
(1)设计该滤波器
(2)产生随机变量序列Y(n)。
实验程序4:
fs=100;
1:
50;
F=2*f/fs;
M=10./sqrt(1+(2*pi.*f).^2);
[b,a]=yulewalk(20,F,M);
plot(F,M)
¹
é
Ò
»
¯
Æ
µ
Â
Ê
ù
¶
È
Ï
ì
Ó
¦
N=1000;
X=randn(1,N);
Y=filter(b,a,X)
实验结果4:
实验七数字基带调制
数字通信系统中,基带传输的仿真。
用MATLAB编程仿真实现四进制脉冲幅度调制(PAM)数字通信系统,并用蒙特卡罗仿真方法计算在信道为加性高斯白噪声时,该系统在不同信噪比下的差错概率。
clc;
clearall;
SNRindB1=0:
16;
SNRindB2=0:
0.2:
fori=1:
length(SNRindB1),
simu_err_prb(i)=simuPe(SNRindB1(i));
end;
length(SNRindB2),
SNR=10^(SNRindB2(i)/10);
theo_err_prb(i)=(3/2)*Qfunc(sqrt((2/5)*SNR));
semilogy(SNRindB2,theo_err_prb,SNRindB1,simu_err_prb,'
o'
axis([0160.00011])
SNRindB'
PrbofErr'
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;
N
temp=rand;
if(temp<
1/4)
symbol(i)=0;
elseif(temp<
2/4)
symbol(i)=1;
3/4)
symbol(i)=3;
else
symbol(i)=2;
end;
numoferr=0;
if(symbol(i)==0)
r=A0+gngauss(sgma);
elseif(symbol(i)==1)
r=A1+gngauss(sgma);
elseif(symbol(i)==3)
r=A2+gngauss(sgma);
r=A3+gngauss(sgma);
if(abs(r-A0)<
d||r<
A0)
deci_symbol=0;
elseif(abs(r-A1)<
d)
deci_symbol=1;
elseif(abs(r-A2)<
deci_symbol=3;
else
deci_symbol=2;
if(deci_symbol~=symbol(i))
numoferr=numoferr+1;
p=numoferr/N;
设计FIR根升余弦滤波器,具体指标如下:
(1)码片速率为1.28MHz,采样率为4倍码片速率
(2)滚降系数0.22,冲激响应序列长度为65
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:
501))'
w=(w(1:
Mag=abs(H);
db=20*log10((Mag)/max(Mag));
pha=angle(H);
plot(w/pi,db);
grid;
axis([01-601]);
归一化角频率'
RRC滤波器幅度响应(db)'
产生一串(-1.1)均匀分布的随机序列,并对该序列进行脉冲成形滤波。
clear
clc
N_Filter=8;
R=0.22
Rate=4;
Fs=Rate*Fc;
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('
),axis([016-0.20.8]),grid
信号的功率谱与带限信道的滤波器等效
------实验日期:
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);
[H,W]=freqz(B);
H_in_dB=20*log10(abs(H));
plot(W/(2*pi),H_in_dB);
plot(W/(2*pi),(180/pi)*unwrap(angle(H)));
figure(3);
plot(zeros(size([0:
N-1])));
hold;
stem([0:
N-1],B);