当前位置:文档之家› MATLAB通信建模实验仿真实验报告

MATLAB通信建模实验仿真实验报告

实验1:上采样与内插一、实验目的1、了解上采样与内插的基本原理和方法。

2、掌握上采样与内插的matlab程序的设计方法。

二、实验原理上采样提高采样频率。

上采样使得周期降低M倍,即新采样周期Tu和原有采样周期Ts的关系是T u=T s/M,根据对应的连续信号x(t),上采样过程从原有采样值x(kT s)生成新采样值x(kT u)=x(kT s/M)。

操作的结果是在每两个采样值之间放入M-1个零值样点。

更实用的内插器是线性内插器,线性内插器的脉冲响应定义如下:上采样值x(kT u)=x(kT s/M)通过与线性内插器的脉冲响应的卷积来完成内插。

三、实验内容仿真正弦波采样和内插,通过基本采样x(k),用M=6产生上采样x u(k),由M=6线性内插得到样点序列x i(k)。

四、实验程序% File: c3_upsampex.mM = 6; % upsample factorh = c3_lininterp(M); % imp response of linear interpolatort = 0:10; % time vectortu = 0:60; % upsampled time vectorx = sin(2*pi*t/10); % original samplesxu = c3_upsamp(x,M); % upsampled sequencesubplot(3,1,1)stem(t,x,'k.')ylabel('x')subplot(3,1,2)stem(tu,xu,'k.')ylabel('xu')xi = conv(h,xu);subplot(3,1,3)stem(xi,'k.')ylabel('xi')% End of script file.% File: c3_upsample.mfunction out=c3_upsamp(in,M)L = length(in);out = zeros(1,(L-1)*M+1); for j=1:Lout(M*(j-1)+1)=in(j); end% End of function file.% File: c3_lininterp.m function h=c3_lininterp(M) h1 = zeros(1,(M-1)); for j=1:(M-1) h1(j) = j/M; endh = [0,h1,1,fliplr(h1),0]; % End of script file.四、 实验结果012345678910x0102030405060x u01020304050607080-11x i实验二:QPSK、16QAM信号的散点图、正交、同相分量波形图一、实验目的1、了解QPSK、16QAM调制的基本原理。

2、理解QPSK、16QAM散点图和其正交、同相分量波形图。

3、掌握QPSK、16QAM散点图和其正交、同相分量波形图的matlab程序设计。

4、二、实验原理如下是数字调制器的模型:散点图是以正交分量x qk(t)和x dk(t)的函数画出来的图,为了构成一个QPSK信号,数据符号a k是通过每次取两个二进制符号构成的,本次实验中每个符号的d k和q k我们定义了+1和-1两个值,16-QAM中每个符号的d k和q k我们选择+1、-1、+3、-3四个值,脉冲成型滤波器选择六阶的巴特沃斯滤波器,通过六阶巴特沃斯滤波器后可以画出散点图。

同时可以分别画出同相和正交分量的时域波形图。

三、实验内容设计matlab程序,画出16-QAM的符号的散点图和通过六阶巴特沃斯滤波器后的散点图,以及16-QAM的符号的同相和正交分量的时域波形图。

四、实验程序% File: c4_qamdemo.mlevelx = input('Number of D levels > ');levely = input('Number of Q levels > ');m = input('Number of symbols > ');n = input('Number of samples per symbol > ');bw = input('Filter bandwidth, 0<bw<1 > ');[xd,xq] = qam(levelx,levely,m,n);[b,a] = butter(6,bw); % determine filter coefficientsyd = filter(b,a,xd); % filter direct coefficientyq = filter(b,a,xq); % filter quadrature coefficient subplot(2,2,1) % first paneplot(xd,xq,'o') % unfiltered scatterplota = 1.4;maxd = max(xd); maxq = max(xq);mind = min(xd); minq = min(xq);axis([a*mind a*maxd a*minq a*maxq])axis equalxlabel('xd'); ylabel('xq')subplot(2,2,2) % second paneplot(yd,yq) % filtered scatterplotaxis equal;xlabel('xd'); ylabel('xq');sym = 30; % number of symbols in time plot nsym = (0:sym*n)/n; % x axis vector for time plots subplot(2,2,3) % third paneplot(nsym(1:sym*n),yd(1:sym*n)) % filtered direct component xlabel('symbol index');ylabel('xd');subplot(2,2,4) % fourth paneplot(nsym(1:sym*n),yq(1:sym*n)) % filtered quadrature component xlabel('symbol index');ylabel('xq');% End of script file.子程序:% File: qam.mfunction [xd,xq] = qam(levelx,levely,m,n)xd = mary(levelx,m,n);xq = mary(levely,m,n);% End of function file.子程序:% File: mary.mfunction y= mary(levels,m,n)% m = number of symbols% n = samples per symboll = m*n; % Total sequence lengthy = zeros(1,l-n+1); % Initalize output vectorlm1 = levels-1;x=2*fix(levels*rand(1,m))-lm1;for i = 1:m % Loop to generate info symbolsk = (i-1)*n+1;y(k) = x(i);endy = conv(y,ones(1,n)); % Make each symbol n samples % End of function file.五、 实验结果-505-4-2024xdx q-505-202xdx q102030-4-2024symbol indexx d102030-4-2024symbol indexx q实验三:冲激不变、阶跃不变、双线性法实现IIR滤波器一、实验目的1、掌握冲激不变、阶跃不变、双线性三种滤波器的设计原理及其三者之间的差别。

2、掌握三种滤波器的matlab的程序的设计。

二、实验原理1、冲激不变滤波器假设数字滤波器的单位冲激响应,除了幅度比例有差别外,等于模拟滤波器冲激响应的采样,这样的数字滤波器就称为模拟滤波器的冲激不变实现,该滤波器的传递函数定义为:其中表示拉普拉斯反变换,Z表示z变换,H a(s)表示模拟原型的传递函,T表示采样周期。

2、阶跃不变滤波器对于阶跃不变滤波器而言,数字滤波器的单位阶跃响应等价于模拟滤波器阶跃响应的采样,其阶跃不变滤波器的传递函数:3、双线性z变换滤波器双线性z变换综合方法采用简单的代数变换,将模拟原型Ha(s)映射为一个数字滤波器,具体来讲,该数字滤波器的传递函数可以定义为:三、实验内容1、假设采样频率为100HZ,模拟滤波器的3dB频率为10HZ,设计matlab 程序,比较三种滤波器的响应。

2、基于前面的例子,考虑一个具有1dB通带波纹和一个最小20dB的阻带衰减,进行五阶椭圆滤波器的综合设计。

四、实验程序例5-5程序:% File: c5_threefilters.mT = 0.01;f = 0:0.1:50;z = exp(-i*2*pi*f*T); % see (5.4)a0 = 0.239057; a1 = 0.239057; b1 = 0.521886; % bilinear invariant num = a0+a1*z;den = 1-b1*z;ampx = abs(num./den);a0 = 0.628319; b1 = 0.533488; % impulse invariantnum = a0;den = 1-b1*z;ampy = abs(num./den);a0 = 1.0; a1 = 0.533488; b1 = 0.533488; % step invriantnum = (a0-a1)*z;den = 1-b1*z;ampz = abs(num./den);plot(f,ampx,f,ampy,f,ampz)xlabel('Frequency - Hz')ylabel('Amplitude Response')例5-6程序:% File: c5_ellipexam.mfs = 100; % set sampling frequencyfc = 20; % set cuttoff frequencyf = 0:0.1:50; % define frequency vector[b,a] = ellip(5,1,20,2*pi*fc,'s');h = freqs(b,a,2*pi*f); % amp. resp. of analog filte[bz1,az1] = impinvar(b,a,fs); % impulse invariant digital filter h1 = freqz(bz1,az1,f,fs); % amplitude response of above [bz2,az2] = bilinear(b,a,fs); % bilinear z filter (not prewarped) h2 = freqz(bz2,az2,f,fs); % amplitude response of above [bz3,az3] = bilinear(b,a,fs,fc); % bilinear z filter (prewarped) h3 = freqz(bz3,az3,f,fs); % amplitude response of above subplot(211) % subplot 1plot(f,abs(h),f,abs(h1)) % plotxlabel('Frequency - Hz') % label x axisylabel('Amplitude Response') % label y axissubplot(212) % subplot 2plot(f,abs(h2),f,abs(h3))xlabel('Frequency - Hz') % label x axisylabel('Amplitude Response') % label y axis五、实验结果例5-5实验结果:051015202530354045500.20.40.60.811.21.4Frequency - HzA m p l i t u d e R e s p o n s e例5-6实验结果:051015202530354045500.511.5Frequency - HzA m p l i t u d e R e s p o n s e051015202530354045500.511.5Frequency - HzA m p l i t u d e R e s p o n s e实验四、FTR滤波器设计与实现一、实验目的1、掌握根据幅度响应进行设计FIR滤波器的原理和方法及其matlab程序设计。

相关主题