精华内容
下载资源
问答
  • 主要研究了数字信号的基带传输的基本概念及数字信号基带传输的传输过程和如何用MATLAB软件仿真设计数字基带传输系统。本文首先介绍了MATLAB仿真软件。然后介绍了本课题的理论依据,包括数字通信,数字基带传输系统的...

    一、获取代码方式

    获取代码方式1:
    完整代码已上传我的资源:【数字基带信号】基于matlab数字基带信号波形仿真【含Matlab源码 988期】

    获取代码方式2:
    通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

    备注:
    订阅紫极神光博客付费专栏,可免费获得2份代码(有效期为订阅日起,三天内有效);

    二、数字基带信号波形仿真简介

    主要研究了数字信号的基带传输的基本概念及数字信号基带传输的传输过程和如何用MATLAB软件仿真设计数字基带传输系统。本文首先介绍了MATLAB仿真软件。然后介绍了本课题的理论依据,包括数字通信,数字基带传输系统的组成及数字基带信号的传输过程。接着介绍了数字基带传输系统的特性包括数字PAM信号功率普密度及常用线路码型,并通过比较最终选择双极性不归零码。之后介绍了数字基带信号的最佳接收的条件以及如何通过示波器观察基带信号的波形。最后按照仿真过程基本步骤用MATLAB的仿真工具实现了数字基带传输系统的仿真过程,对系统进行了分析。

    数字基带传输系统在实际数字通信系统中的应用虽然没有频带传输应用广泛,但仍有相当多的应用范围。而且最为重要的是数字基带传输系统的基本理论不仅适用于数字基带传输系统,而且还适用于频带传输,因为所有窄的带通信号、线性带通系统及等效低通系统都对等效低通信号的响应均可用其等效低通信号、等效低通系统及等效低通系统对等效低通信号的响应来表示,因而频带传输系统可通过它的等效低通(或等效基带)传输系统的理论分析及计算机仿真来研究它的性能,因而掌握数字基带传输的基本理论十分重要,它在数字通信系统中具有普遍意义。

    1 基带传输系统简介
    如果数字调制器的载波是周期性的脉冲,用数字序列去调制脉冲载波的某参数,则可将数字序列转换成为相应的信号波形,这就被称为数字脉冲调制器。而数字脉冲调制器输出信号波形的功率谱密度是低通型的,所占频带是从直流或低频开始的,其带宽是有限的。那么就称此数字信号为数字基带信号。若通信信道的传递函数是低通型的,则称此信道为基带信道,又称基带信道为低通信道,如同轴电缆和双绞线有线信道均属基带信道。数字基带信号通过基带信道进行传输,则称此传输系统为数字基带传输系统。
    在这里插入图片描述
    2 基带传输系统结构图

    基带传输系统主要由信道信号形成器、信道、接收滤波器和抽样判决器组成。为了保证系统可靠有序地工作,还应有同步系统。
    信道信号形成器:把原始基带信号变换成适合于信道传输的基带信号,这种变换主要是通过码型变换和波形变换来实现的,其目的是与信道匹配,便于传输,减小码间串扰,利于同步提取和抽样判决。
    信道:允许基带信号通过的媒质。信道的传输特性通常不满足无失真传输条件,甚至是随机变化的。另外信道还会进入噪声。在通信系统的分析中,常常把噪声n(t)等效,集中在信道中引入。
    接收滤波器:滤除带外噪声,对信道特性均衡,使输出的基带波形有利于抽样判决。
    抽样判决器:在传输特性不理想及噪声背景下,在规定的时刻(由位定时脉冲控制)对接收滤波器的输出波形进行抽样判决,以恢复或再生基带信号。而用来抽样的位定时脉冲则依靠同步提取电路从接收信号中提取,位定时的准确与否将直接影响判决效果。

    3 基带传输过程

    终端设备编码器所产生的脉冲序列将作为为基带传输系统的输入信号,为了使这种脉冲序列能在信道中进行传输,一般要通过码型变换器将二进制脉冲序列变为双极性码(AMI码或HDB3码),有时为了使信号在基带传输系统内的码间干扰降到最低,还要进行波形变换。由于信道特性不理想或者噪声的干扰,会使经过信道的信号受到干扰而变形。在接收端为了减小噪声的影响,首先会把通过信道的信号引入接收滤波器,然后再经过均衡器,校正由于信道特性(包括接收滤波器在内)不理想而产生的波形失真或码间串扰。最后在取样定时脉冲到来时,进行判决以恢复基带数字码脉冲。

    三、部分源代码

    close all
    clear all
    %采样点数的设置
    k=14;
    %每码元采样数的设置
    L= 32;
    N=2^k;
    M=N/L;%M为码元个数
    dt=1/L;%时域采样间隔
    T=N*dt;%时域截断区间
    df=1.0/T;%频域采样间隔
    Bs=N*df/2;%频域截断区间
    t=linspace(-T/2,T/2,N);%产生时域采样点
    f=linspace(-Bs,Bs,N);%产生频域采样点
    EP1=zeros(size(f));
    EP2=zeros(size(f));
    EP3=zeros(size(f));
    
    %程序第1部分:随机产生100001信号序列,分别对其进行双极性归零编码和不归零%编码,并且求各自的功率谱密度,求功率谱密度的均值
    for x=1:1000%1000次样值
        a=round(rand(1,M));%产生一个长度为M的随机序列a,01等概出现
        nrz=zeros(L,M);%产生一个L行M列的nrz矩阵,初始化为全0矩阵
        rz=zeros(L,M);%产生一个L行M列的rz矩阵,初始化为全0矩阵
        for i=1:M 
            if a(i)==1
                nrz(:,i)=1;%使nrz矩阵第i列全部元素都为1
                rz(1:L/2,i)=1;%使rz矩阵第i列前L/2个元素为1
            else
                nrz(:,i)=0;%使nrz矩阵第i列全部元素都为-1
                rz(1:L/2,i)=0;%使rz矩阵第i列前L/2个元素为-1
            end
        end    
        %分别重排nrz、rz矩阵为1行N列的矩阵
        nrz=reshape(nrz,1,N);
        rz=reshape(rz,1,N);
        %做傅里叶变换并算出功率谱密度
        NRZ=t2f(nrz,dt);
        P1=NRZ.*conj(NRZ)/T;
        RZ=t2f(rz,dt);
        P2=RZ.*conj(RZ)/T;
        %求功率谱密度的均值
        EP1=(EP1*(x-1)+P1)/x;
        EP2=(EP2*(x-1)+P2)/x;
    end
    %采样点数的设置
    k=14;
    %每码元采样数的设置
    L= 32;
    N=2^k;
    M=N/L;%M为码元个数
    dt=1/L;%时域采样间隔
    T=N*dt;%时域截断区间
    df=1.0/T;%频域采样间隔
    Bs=N*df/2;%频域截断区间
    t=linspace(-T/2,T/2,N);%产生时域采样点
    f=linspace(-Bs,Bs,N);%产生频域采样点
    EP1=zeros(size(f));
    EP2=zeros(size(f));
    EP3=zeros(size(f));
    
    %程序第2部分:随机产生100001信号序列,分别对其进行双极性归零编码和不归零%编码,并且求各自的功率谱密度,求功率谱密度的均值
    for x=1:1000%1000次样值
        a=round(rand(1,M));%产生一个长度为M的随机序列a,01等概出现
        nrz=zeros(L,M);%产生一个L行M列的nrz矩阵,初始化为全0矩阵
        rz=zeros(L,M);%产生一个L行M列的rz矩阵,初始化为全0矩阵
        for i=1:M 
            if a(i)==1
                nrz(:,i)=1;%使nrz矩阵第i列全部元素都为1
                rz(1:L/2,i)=1;%使rz矩阵第i列前L/2个元素为1
            else
                nrz(:,i)=-1;%使nrz矩阵第i列全部元素都为-1
                rz(1:L/2,i)=-1;%使rz矩阵第i列前L/2个元素为-1
            end
        end
        
        %分别重排nrz、rz矩阵为1行N列的矩阵
        nrz=reshape(nrz,1,N);
        rz=reshape(rz,1,N);
        %做傅里叶变换并算出功率谱密度
        NRZ=t2f(nrz,dt);
        P1=NRZ.*conj(NRZ)/T;
        RZ=t2f(rz,dt);
        P2=RZ.*conj(RZ)/T;
        %求功率谱密度的均值
        EP1=(EP1*(x-1)+P1)/x;
        EP2=(EP2*(x-1)+P2)/x;
    end
    
    

    四、运行结果

    在这里插入图片描述
    在这里插入图片描述

    五、matlab版本及参考文献

    1 matlab版本
    2014a

    2 参考文献
    [1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
    [2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
    [3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.

    展开全文
  • 已知驻波的运动学方程为y=2Acos(2πx/λ)cos(ωt)相应的MATLAB程序为syms lambda omega;y=2*A.*cos(2*pi*x./lambda).*cos(omega.*t);将t取不同的值可以得到如图1所示的驻波曲线图1 驻波的波形图这就是驻波的波形图。...

    已知驻波的运动学方程为

    y=2Acos(2πx/λ)cos(ωt)

    相应的MATLAB程序为

    syms lambda omega;

    y=2*A.*cos(2*pi*x./lambda).*cos(omega.*t);

    将t取不同的值可以得到如图1所示的驻波曲线

    891b0e5065e813d8545459ab6490ca4b.png

    图1  驻波的波形图

    这就是驻波的波形图。

    附录:m文件的内容如下

    x=-4*pi:pi/100:4*pi;

    syms lambda omega;

    A=1;

    lambda=3*pi;

    omega=1;

    t=0;

    y1=2*A*cos(2*pi*x./lambda)*cos(omega*t);

    plot(x,y1,'-k','LineWidth',2.0);

    hold on;

    t=0.722734;

    y2=2*A*cos(2*pi*x./lambda)*cos(omega*t);

    plot(x,y2,'--k','LineWidth',2.0);

    t=pi/3;

    y3=2*A*cos(2*pi*x./lambda)*cos(omega*t);

    plot(x,y3,':k','LineWidth',2.0);

    t=1.3181;

    y4=2*A*cos(2*pi*x./lambda)*cos(omega*t);

    plot(x,y4,'-.k','LineWidth',2.0);

    t=1.823477;

    y5=2*A*cos(2*pi*x./lambda)*cos(omega*t);

    plot(x,y5,'-.b','LineWidth',2.0);

    t=2*pi/3;

    y6=2*A*cos(2*pi*x./lambda)*cos(omega*t);

    plot(x,y6,':b','LineWidth',2.0);

    t=2.418858;

    y7=2*A*cos(2*pi*x./lambda)*cos(omega*t);

    plot(x,y7,'--b','LineWidth',2.0);

    t=pi;

    y8=2*A*cos(2*pi*x./lambda)*cos(omega*t);

    plot(x,y8,'-b','LineWidth',2.0);

    line([-4*pi,4*pi],[0,0],'Color',[0.38 0.38 0.38],'LineStyle','-','LineWidth',1.0);

    axis([-4*pi,4*pi,-2,2]);

    set(gca,'FontSize',16,'FontName','Times New Roman');

    title('{\ity} = 2{\itA}cos(2\pi{\itx}/{\it\lambda})cos({\it\omegat})','FontName','Times New Roman','FontSize',20);

    xlabel('\itx','FontName','Times New Roman','FontSize',20);

    ylabel('\ity','FontName','Times New Roman','FontSize',20);

    hold off;

    如何控制上下各个曲线之间的间距一致?

    答:通过分析驻波的运动方程 y=2Acos(2πx/λ)cos(ωt),可以看出振幅项 2Acos(2πx/λ) 不含时间 t ,简谐项 cos(ωt) 不含变量 x ,波形只在上下方向振动。一旦给定 A、λ的值,则振幅项确定,2Acos(2πx/λ)仅随x变化,这时 cos(ωt) 便决定了振幅的最大值,于是我们可以绘制出 cosθ 的曲线,如图2所示。要使间隔一致,则需将区间[-1,1]等分为8份,θ=arccos( f),f=1,0.75,0.5,0.25,0,-0.25,-0.5,-0.75,-1。令 ω=1,则 t=θ ,将算出的 θ 代入 ωt这样便可以绘制出等间距的曲线了。

    ed9fb3720ad18a38959b8d2c4628d07e.png

    图2  y=cosθ 的函数曲线

    转载本文请联系原作者获取授权,同时请注明本文来自李金磊科学网博客。

    收藏

    分享

    分享到:

    展开全文
  • 双踪示波器 1台3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台4.PC机(装有MATLAB、MCOM-TG305配套实验软件) 1台1.3 实验原理一个典型的DSP系统除了数字信号处理部分外,还包括A/D和D/A两部分。这是因为自...

    c008abf52b22a40346769f3f60751c4d.png

    .

    低通采样定理实验

    1.1 实验目的

    1.了解数字信号处理系统的一般构成;

    2.掌握奈奎斯特抽样定理。

    1.2 实验仪器

    1.YBLD智能综合信号源测试仪 1台

    2.双踪示波器 1台

    3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台

    4.PC机(装有MATLAB、MCOM-TG305配套实验软件) 1台

    1.3 实验原理

    一个典型的DSP系统除了数字信号处理部分外,还包括A/D和D/A两部分。这是因为自然界的信号,如声音、图像等大多是模拟信号,因此需要将其数字化后进行数字信号处理,模拟信号的数字化即称为A/D转换。数字信号处理后的数据可能需还原为模拟信号,这就需要进行D/A转换。一个仅包括A/D和D/A两部分的简化数字信号处理系统功能如图1所示。

    A/D转换包括三个紧密相关的过程,即抽样、量化和编码。A/D转换中需解决的以下几个重要问题:抽样后输出信号中还有没有原始信号的信息?如果有能不能把它取出来?抽样频率应该如何选择?

    奈奎斯特抽样定理(即低通信号的均匀抽样定理)告诉我们,一个频带限制在0至fx以内的低通信号x(t),如果以fs≥2fx的抽样速率进行均匀抽样,则x(t)可以由抽样后的信号xs(t)完全地确定,即xs(t)包含有x(t)的成分,可以通过适当的低通滤波器不失真地恢复出x(t)。最小抽样速率fs=2fx称为奈奎斯特速率。

    低通

    译码

    编码

    量化

    抽样

    输入信号 样点输出 滤波输出

    A/D(模数转换) D/A(数模转换)

    图1 低通采样定理演示

    为方便实现,实验中更换了一种表现形式,即抽样频率固定(10KHz),通过改变输入模拟信号的频率来展示低通抽样定理。我们可以通过研究抽样频率和模拟信号最高频率分量的频率之间的关系,来验证低通抽样定理。

    1.4 实验内容

    1.软件仿真实验:编写并调试MATLAB程序,分析有关参数,记录有关波形。

    2.硬件实验:输入不同频率的正弦信号,观察采样时钟波形、输入信号波形、样点输出波形和滤波输出波形。

    1.5 MATLAB参考程序和仿真内容

    %*******************************************************************%

    %f—余弦信号的频率

    % M—基2 FFT幂次数 N=2^M为采样点数,这样取值是为了便于作基2的FFT分析

    %2. 采样频率Fs

    %*******************************************************************%

    function samples(f,Fs,M)

    N=2^M; % fft点数=取样总点数

    Ts=1/Fs; % 取样时间间隔

    T=N*Ts; % 取样总时间=取样总点数*取样时间间隔

    n=0:N-1;

    t=n*Ts;

    Xn=cos(2*f*pi*t);

    subplot(2,1,1);

    stem(t,Xn);

    axis([0 T 1.1*min(Xn) 1.1*max(Xn)]);

    xlabel('t -->');

    ylabel('Xn');

    Xk=abs(fft(Xn,N));

    subplot(2,1,2);

    stem(n,Xk);

    axis([0 N 1.1*min(Xk) 1.1*max(Xk)]);

    xlabel('frequency -->');

    ylabel('!Xk!');

    %*******************************************************************%

    假如有一个1Hz的余弦信号y=cos(2*π*t),对其用4Hz的采样频率进行采样,共采样32点,只需执行samples(1,4,5),即可得到仿真结果。

    软件仿真实验内容如下表所示:

    仿真参数

    f

    Fs

    Wo(计算)

    Xn(图形)

    Xk(图形)

    (1,4,5)

    另外记录图形,并标图号

    (1,8,5)

    (2,8,6)

    自 选

    1.6 硬件实验步骤

    本实验箱采样频率fs固定为10KHz,低通滤波器的截止频率约为4.5KHz。

    1、用低频信号源产生正弦信号,正弦信号源频率f自定,并将其接至2TP2(模拟输入)端,将示波器通道一探头接至2TP6(采样时钟)端观察采样时钟波形,示波器通道二探头接至2TP2观察并记录输入信号波形。

    2、将示波器通道二探头接至2TP3观察并记录样点输出波形。

    3、将示波器通道二探头接至2TP4观察并记录滤波输出波形。

    4、根据采样定理,分f=fs /8、f=fs/4、f=fs/2等3种情况更改正弦信号频率,重复步骤2至步骤3。

    5、用低频信号源产生方波信号,重复步骤1至步骤4。

    1.7 思考题

    1、 讨论在仿真实验中所计算的数字域频率Wo和Xk的图形中非零谱线位置之间的对应关系。

    2、 讨论在仿真实验中自选参数的意义。

    3、将在2TP2端加方波信号后的恢复波形,与相同频率的正弦信号的恢复波形相比,能够得出哪些结论?

    2 FFT频谱分析实验

    2.1 实验目的

    1.通过实验加深对快速傅立叶变换(FFT)基本原理的理解。

    2.了解FFT点数与频谱分辨率的关系,以及两种加长序列FFT与原序列FFT的关系。

    2.2 实验仪器

    1.YBLD智能综合信号源测试仪 1台

    2.双踪示波器 1台

    3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台

    4.PC机(装有MATLAB、MCOM-TG305配套实验软件) 1台

    2.3 实验原理

    离散傅里叶变换(DFT)和卷积是信号处理中两个最基本也是最常用的运算,它们涉及到信号与系统的分析与综合这一广泛的信号处理领域。实际上卷积与DFT之间有着互通的联系:卷积可化为DFT来实现,其它的许多算法,如相关、滤波和谱估计等都可化为DFT来实现,DFT也可化为卷积来实现。

    对N点序列x(n),其DFT变换对定义为:

    在DFT运算中包含大量的重复运算。FFT算法利用了蝶形因子WN的周期性和对称性,从而加快了运算的速度。FFT算法将长序列的DFT分解为短序列的DFT。N点的DFT先分解为2个N/2点的DFT,每个N/2点的DFT又分解为2个N/4点的DFT。按照此规律,最小变换的点数即所谓的“基数(radix)。”因此,基数为2的FFT算法的最小变换(或称蝶形)是2点DFT。一般地,对N点FFT,对应于N个输入样值,有N个频域样值与之对应。一般而言,FFT算法可以分为时间抽取(DIT)FFT和频率抽取(DIF)两大类。

    在实际计算中,可以采用在原来序列后面补0的加长方法来提高FFT的分辨率;可以采用在原来序列后面重复的加长方法来增加FFT的幅度。

    2.4 实验内容

    1.软件仿真实验:分别观察并记录正弦序列、方波序列及改变FFT的点数后的频谱;分别观察并记录正弦序列、方波序列及2种加长序列等信号的频谱。

    2.硬件实验:分别观察并记录正弦信号、方波信号及改变FFT的点数后的频谱。

    2.5 MATLAB参考程序和仿真内容

    %*******************************************************************%

    function[x]=ffts(mode,M)

    Nfft=2^M;

    x=zeros(1,Nfft); %定义一个长度为Nfft的一维全0数组

    if mode= =1 for n=0:Nfft-1 x(n+1)=sin(2*pi*n/Nfft); end

    end %定义一个长度为Nfft的单周期正弦序列

    if mode= =2 for n=0:Nfft-1 x(n+1)=sin(4*pi*n/Nfft); end

    end %定义一个长度为Nfft的双周期正弦序列

    if mode= =3 for n=0:Nfft/2-1 x(n+1)=sin(4*pi*n/Nfft); end

    end %定义一个长度为Nfft/2的正弦序列,后面一半为0序列。

    if mode= =4 for n=0:Nfft-1 x(n+1)=square(2*pi*n/Nfft); end

    end

    if mode= =5 for n=0:Nfft-1 x(n+1)=square(2*pi*n/Nfft); end

    end

    if mode= =6 for n=0:Nfft/2-1 x(n+1)=square(4*pi*n/Nfft); end

    end

    n=0:Nfft-1;

    subplot(2,1,1);

    stem(n,x);

    axis([0 Nfft-1 1.1*min(x) 1.1*max(x)]);

    xlabel('Points-->');

    ylabel('x(n)');

    X=abs(fft(x,Nfft));

    subplot(2,1,2);

    stem(n,X);

    axis([0 Nfft-1 1.1*min(X) 1.1*max(X)]);

    xlabel('frequency-->');

    ylabel('!X(k)!');

    %*******************************************************************%

    假设需观察方波信号的频谱,对一个周期的方波信号作32点的FFT,则只需在MATLAB的命令窗口下键入:[x]=ffts(21,5) ,程序进行模拟,并且输出FFT的结果。

    关于软件仿真实验内容,建议在完成大量仿真例子的基础上,选择能够体现实验要求的4个以上的例子进行记录。例如要观察后面补0的加长方法来提高FFT的分辨率的现象,可以仿真ffts(4,5)和ffts(6,6)两个例子。

    2.6 硬件实验步骤

    1.将低频信号源输出加到实验箱模拟通道1输入端,将示波器探头接至模拟通道1输出端。

    2.在保证实验箱正确加电且串口电缆连接正常的情况下,运行数字信号处理与DSP应用实验开发软件,在“数字信号处理实验”菜单下选择“FFT频谱分析”子菜单,出现显示FFT频谱分析功能提示信息的窗口。

    3.用低频信号产生器产生一个1KHz的正弦信号。

    4.选择FFT频谱分析与显示的点数为64点,开始进行FFT运算。此后,计算机将周期性地取回DSP运算后的FFT数据并绘图显示

    5.改信号源频率,观察并记录频谱图的变化。

    6.选择FFT的点数为128点,观察并记录频谱图的变化。

    7.更改正弦信号的频率,重复步骤4 ~步骤6。

    8.用低频信号产生器产生一个1KHz的方波信号,重复步骤4 ~步骤7。注意:应根据实验箱采样频率fs为10KHz和方波信号的频带宽度选择方波信号的频率。

    本硬件实验要进行两种信号,每个信号两种频率,每个信号两种点数等共8次具体实验内容,性质能够体现实验要求的4个以上的例子进行记录。

    2.7 思考题

    1.对同一个信号,不同点数FFT观察到的频谱图有何区别?

    2.序列加长后FFT与原序列FFT的关系是什么,试推导其中一种关系。

    3.用傅立叶级数理论,试说明正弦信号频谱和方波信号频谱之间的关系。

    3 IIR滤波器设计实验

    3.1 实验目的

    1.通过实验加深对IIR滤波器基本原理的理解。

    2.学习编写IIR滤波器的MATLAB仿真程序。

    3.2 实验仪器

    1.YBLD智能综合信号源测试仪 1台

    2.双踪示波器 1台

    3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台

    4.PC机(装有MATLAB、MCOM-TG305配套实验软件) 1台

    3.3 实验原理

    IIR滤波器有以下几个特点:

    1.IIR数字滤波器的系统函数可以写成封闭函数的形式。

    2.IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。

    3.IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。

    4.IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。

    在MATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器,使用ellipord函数设计出椭圆滤波器。下面主要介绍前两个函数的使用。

    与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。

    一、巴特沃斯IIR滤波器的设计

    在MATLAB下,设计巴特沃斯IIR滤波器可使用butter函数。

    Butter函数可设计低通、高通、带通和带阻的数字和模拟IIR滤波器,其特性为使通带内的幅度响应最大限度地平坦,但同时损失截止频率处的下降斜度。在期望通带平滑的情况下,可使用butter函数。

    butter函数的用法为:

    [b,a]=butter(n,Wn,/ftype/)

    其中n代表滤波器阶数,Wn代表滤波器的截止频率,这两个参数可使用buttord函数来确定。buttord函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器的最小阶数n,同时给出对应的截止频率Wn。buttord函数的用法为:

    [n,Wn]= buttord(Wp,Ws,Rp,Rs)

    其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当其值为1时代表采样频率的一半。Rp和Rs分别是通带和阻带区的波纹系数。

    不同类型(高通、低通、带通和带阻)滤波器对应的Wp和Ws值遵循以下规则:

    1.高通滤波器:Wp和Ws为一元矢量且Wp>Ws;

    2.低通滤波器:Wp和Ws为一元矢量且Wp<Ws;

    3.带通滤波器:Wp和Ws为二元矢量且Wp<Ws,如Wp=[0.2,0.7],Ws=[0.1,0.8];

    4.带阻滤波器:Wp和Ws为二元矢量且Wp>Ws,如Wp=[0.1,0.8],Ws=[0.2,0.7]。

    二、契比雪夫I型IIR滤波器的设计

    在期望通带下降斜率大的场合,应使用椭圆滤波器或契比雪夫滤波器。在MATLAB下可使用cheby1函数设计出契比雪夫I型IIR滤波器。

    cheby1函数可设计低通、高通、带通和带阻契比雪夫I型滤IIR波器,其通带内为等波纹,阻带内为单调。契比雪夫I型的下降斜度比II型大,但其代价是通带内波纹较大。

    cheby1函数的用法为:

    [b,a]=cheby1(n,Rp,Wn,/ftype/)

    在使用cheby1函数设计IIR滤波器之前,可使用cheblord函数求出滤波器阶数n和截止频率Wn。cheblord函数可在给定滤波器性能的情况下,选择契比雪夫I型滤波器的最小阶和截止频率Wn。

    cheblord函数的用法为:

    [n,Wn]=cheblord(Wp,Ws,Rp,Rs)

    其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当其值为1时代表采样频率的一半。Rp和Rs分别是通带和阻带区的波纹系数。

    3.4 实验内容

    1.软件仿真实验:编写并调试MATLAB程序,选择不同形式,不同类型的4种滤波器进行仿真,记录幅频和相频特性,对比巴特沃斯滤波器和契比雪夫滤波器。

    2.硬件实验:设计IIR滤波器,在计算机上观察冲激响应、幅频特性和相频特性,然后下载到实验箱。用示波器观察输入输出波形,测试滤波器的幅频响应特性。

    3.5 MATLAB参考程序和仿真内容

    %*******************************************************************%

    %mode: 1--巴特沃斯低通;2--巴特沃斯高通;3--巴特沃斯带通;4--巴特沃斯带阻

    % 5--契比雪夫低通;6--契比雪夫高通;7--契比雪夫带通;8--契比雪夫带阻

    %fp1,fp2: 通带截止频率,当高通或低通时只有fp1有效

    %fs1, fs2: 阻带截止频率,当高通或低通时只有fs1有效

    %rp: 通带波纹系数

    %as: 阻带衰减系数

    %sample: 采样率

    %h: 返回设计好的滤波器系数

    %*******************************************************************%

    function[b,a]=iirfilt(mode,fp1,fp2,fs1,fs2,rp,as,sample)

    wp1=2*fp1/sample;wp2=2*fp2/sample;

    ws1=2*fs1/sample;ws2=2*fs2/sample;

    %得到巴特沃斯滤波器的最小阶数N和3bd频率wn

    if mode<3[N,wn]=buttord(wp1,ws1,rp,as);

    elseif mode<5[N,wn]=buttord([wp1 wp2],[ws1 ws2],rp,as);

    %得到契比雪夫滤波器的最小阶数N和3bd频率wn

    elseif mode<7[N,wn]=cheb1ord(wp1,ws1,rp,as);

    else[N,wn]=cheblord([wp1 wp2],[ws1 ws2],rp,as);

    end

    %得到滤波器系数的分子b和分母a

    if mode= =1[b,a]=butter(N,wn);end

    if mode= =2[b,a]=butter(N,wn,/high/);end

    if mode= =3[b,a]=butter(N,wn);end

    if mode= =4[b,a]=butter(N,wn,/stop/);end

    if mode= =5[b,a]=cheby1(N,rp,wn);end

    if mode= =6[b,a]=cheby1(N,rp,wn,/high/);end

    if mode= =7[b,a]=cheby1(N,rp,wn);end

    if mode= =8[b,a]=cheby1(N,rp,wn,/stop/);end

    set(gcf,/menubar/,menubar);

    freq_response=freqz(b,a);

    magnitude=20*log10(abs(freq_response));

    m=0:511;

    f=m*sample/(2*511);

    subplot(3,1,1);plot(f,magnitude);grid; %幅频特性

    axis([0 sample/2 1.1*min(magnitude) 1.1*max(magnitude)]);

    ylabel('Magnitude');xlabel('Frequency-->');

    phase=angle(freq_response);

    subplot(3,1,2);plot(f,phase);grid; %相频特性

    axis([0 sample/2 1.1*min(phase) 1.1*max(phase)]);

    ylabel('Phase');xlabel('Frequency-->');

    h=impz(b,a,32); %32点的单位函数响应

    t=1:32;

    subplot(3,1,3);stem(t,h);grid;

    axis([0 32 1.2*min(h) 1.1*max(h)]);

    ylabel('h(n)');xlabel('n-->');

    %*******************************************************************%

    假设需设计一个巴特沃斯低通IIR滤波器,通带截止频率为2KHz,阻带截止频率为3KHz,通带波纹系数为1,阻带衰减系数为20,采样频率为10KHz,则只需在MATLAB的命令窗口下键入:

    [b,a]=iirfilt(1,2000,3000,2400,2600,1,20,10000)

    程序进行模拟,并且按照如下顺序输出数字滤波器系统函数

    的系数

    b= b0 b1 ……bn

    a= a0 a1 ……an

    关于软件仿真实验内容,建议在完成大量仿真例子的基础上,选择能够体现实验要求的4个例子进行记录,系统函数只要记录系统的阶数。

    3.6 硬件实验步骤

    1.根据实验箱采样频率fs为10KHz的条件,用低频信号发生器产生一个频率合适的低频正弦信号,将其加到实验箱模拟通道1输入端,将示波器通道1探头接至模拟通道1输入端,通道2探头接至模拟通道2输出端。

    2.在保证实验箱正确加电且串口电缆连接正常的情况下,运行数字信号处理与DSP应用实验开发软件,在“数字信号处理实验”菜单下选择“IIR滤波器”子菜单,出现提示信息。

    3.输入滤波器类型、滤波器截止频率等参数后,分别点击“幅频特性”和“相频特性”按钮,在窗口右侧观察IIR滤波器的幅频特性和相频特性。此时提示信息将消失,如需查看提示信息,可点击“设计说明”按钮。

    4.点击“下载实现”按钮,IIR滤波器开始工作,此时窗口右侧将显示IIR滤波器的幅频特性。

    5.根据输入滤波器类型,更改低频信号源的频率,观察示波器上输入输出波形幅度的变化情况,测量IIR滤波器的幅频响应特性,看其是否与设计的幅频特性一致。

    6.更改滤波器类型、滤波器截止频率等参数(共4种),重复步骤3至步骤5。所选择的例子参数最好和MATLAB仿真程序的例子一样。

    7.用低频信号产生器产生一个500Hz的方波信号,分别设计3种滤波器,完成如下表要求的功能,并且记录参数和波形。

    功 能

    滤波器类型

    参 数

    输出波形

    fp1

    fp2

    fs1

    fs2

    通过3次及以下次数的谐波

    另外记录图形,并标图号

    滤除5次及以下次数的谐波

    通过3次到5次的谐波

    3.7 思考题

    1.在实验箱采样频率fs固定为10KHz的条件下,要观察方波信号频带宽度内的各个谐波分量,方波信号的频率最高不能超过多少,为什么?

    2.硬件实验内容7中输出信号各个谐波分量,与原来方波信号同样谐波分量相比,有没有发生失真?主要发生了什么类型的失真?为什么?

    4 窗函数法FIR滤波器设计实验

    4.1 实验目的

    1.通过实验加深对FIR滤波器基本原理的理解。

    2.学习使用窗函数法设计FIR滤波器,了解窗函数的形式和长度对滤波器性能的影响。

    4.2 实验仪器

    1.YBLD智能综合信号源测试仪 1台

    2.双踪示波器 1台

    3.MCOM-TG305数字信号处理与现代通信技术实验箱 1台

    4.PC机(装有MATLAB、MCOM-TG305配套实验软件) 1台

    4.3 实验原理

    数字滤波器的设计是数字信号处理中的一个重要内容。数字滤波器设计包括FIR(有限单位脉冲响应)滤波器与IIR(无限单位脉冲响应)滤波器两种。

    与IIR滤波器相比,FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。设FIR滤波器单位脉冲响应h(n)长度为N,其系统函数H(z)为:

    H(z)是z-1的N-1次多项式,它在z平面上有N-1个零点,原点z=0是N-1阶重极点,因此H(z)是永远稳定的。稳定和线性相位特性是FIR滤波器突出的优点。

    FIR滤波器的设计任务是选择有限长度的h(n)。使传输函数H( )满足技术要求。FIR滤波器的设计方法有多种,如窗函数法、频率采样法及其它各种优化设计方法,本实验介绍窗函数法的FIR滤波器设计。

    窗函数法是使用矩形窗、三角窗、巴特利特窗、汉明窗、汉宁窗和布莱克曼窗等设计出标准响应的高通、低通、带通和带阻FIR滤波器。

    一、firl函数的使用

    在MATLAB下设计标准响应FIR滤波器可使用firl函数。firl函数以经典方法实现加窗线性相位FIR滤波器设计,它可以设计出标准的低通、带通、高通和带阻滤波器。firl函数的用法为:

    b=firl(n,Wn,/ftype/,Window)

    各个参数的含义如下:

    b—滤波器系数。对于一个n阶的FIR滤波器,其n+1个滤波器系数可表示为:b(z)=b(1)+b(2)z-1+…+b(n+1)z-n。

    n—滤波器阶数。

    Wn—截止频率,0≤Wn≤1,Wn=1对应于采样频率的一半。当设计带通和带阻滤波器时,Wn=[W1 W2],W1≤ω≤W2。

    ftype—当指定ftype时,可设计高通和带阻滤波器。Ftype=high时,设计高通FIR滤波器;ftype=stop时设计带阻FIR滤波器。低通和带通FIR滤波器无需输入ftype参数。

    Window—窗函数。窗函数的长度应等于FIR滤波器系数个数,即阶数n+1。

    二、窗函数的使用

    在MATLAB下,这些窗函数分别为:

    1.矩形窗:w=boxcar(n),产生一个n点的矩形窗函数。

    2.三角窗:w=triang(n),产生一个n点的三角窗函数。

    当n为奇数时,三角窗系数为w(k)=

    当n为偶数时,三角窗系数为w(k)=

    3.巴特利特窗:w=Bartlett(n),产生一个n点的巴特利特窗函数。

    巴特利特窗系数为w(k)=

    巴特利特窗与三角窗非常相似。巴特利特窗在取样点1和n上总以零结束,而三角窗在这些点上并不为零。实际上,当n为奇数时bartlett(n)的中心n-2个点等效于triang(n-2)。

    4.汉明窗:w=hamming(n),产生一个n点的汉明窗函数。

    汉明窗系数为w(k+1)=0.54-0.46cos( ) k=0,…,n-1

    5.汉宁窗:w=hanning(n),产生一个n点的汉宁窗函数。

    汉宁窗系数为w(k)=0.5[1-cos( )] k=1,…,n

    6.布莱克曼窗:w=Blackman(n),产生一个n点的布莱克曼窗函数。

    布莱克曼窗系数为w(k)=0.42-0.5cos(2π )+0.8cos(4π )] k=1,…,n

    与等长度的汉明窗和汉宁窗相比,布莱克曼窗的主瓣稍宽,旁瓣稍低。

    7.凯泽窗:w=Kaiser(n,beta),产生一个n点的凯泽窗数,其中beta为影响窗函数旁瓣的β参数,其最小的旁瓣抑制α与β的关系为:

    0.1102(α-0.87) α>50

    β= 0.5842(α-21)0.4+0.07886(α-21) 21≤α≤50

    0 α<21

    增加β可使主瓣变宽,旁瓣的幅度降低。

    8.契比雪夫窗:w=chebwin(n,r)产生一个n点的契比雪夫窗函数。其傅里叶变换后的旁瓣波纹低于主瓣r个db数。

    4.4 实验内容

    1.软件仿真实验:编写并调试MATLAB程序,观察不同窗,不同类型滤波器不同点数等共4种FIR滤波器的h(n),并记录幅频特性和相频特性。

    2.硬件实验:用窗函数法设计标准响应的FIR滤波器,在计算机上观察窗函数幅频特性、幅频特性和相频特性,然后下载到实验箱。用示波器观察输入输出波形,测试滤波器的幅频响应特性。

    4.5 MATLAB参考程序和仿真内容

    %*******************************************************************%

    %mode: 模式(1--高通;2--低通;3--带通;4--带阻)

    %n: 阶数,加窗的点数为阶数加1

    %fp: 高通和低通时指示截止频率,带通和带阻时指示下限频率

    %fs: 带通和带阻时指示上限频率

    %window:加窗(1--矩形窗;2--三角窗;3--巴特利特窗;4--汉明窗;

    % 5--汉宁窗;6--布莱克曼窗;7--凯泽窗;8--契比雪夫窗)

    %r: 代表加chebyshev窗的r值和加kaiser窗时的beta值

    %sample: 采样率

    %h: 返回设计好的FIR滤波器系数

    %*******************************************************************%

    %mode: 模式(1--高通;2--低通;3--带通;4--带阻)

    %n: 阶数,加窗的点数为阶数加1

    %fp: 高通和低通时指示截止频率,带通和带阻时指示下限频率

    %fs:

    ◆◆

    评论读取中....

    请登录后再发表评论!

    ◆◆

    修改失败,请稍后尝试

    展开全文
  • 基于MATLAB信号波形与频谱分析_00002基于MATLAB的信号波形与频谱分析摘 要本文利用软件进行设计并通过GUI界面(图形用户界面)实现动态设计。用户可与计算机交互式地进行对象参数的设置、控制算法的选取、以及。并利用...

    基于MATLAB信号波形与频谱分析_00002

    基于MATLAB的信号波形与频谱分析

    摘 要

    本文利用软件进行设计并通过GUI界面(图形用户界面)实现动态设计。用户可与计算机交互式地进行对象参数的设置、控制算法的选取、以及。并利用内嵌的Simulink模块实现系统的满足不同用户的不同要求。

    MATLAB的GUIDE是专门用于图形用户界面(GUI)程序设计的快速开发环境从介绍GUIDE入手结合具体的软件图形界面实例,给出了利用GUIDE制作图形用户界面的基本方法。利用GUIDE设计的界面不仅可以对,而且还可以作进一步的预测和分析GUIDE技术制作图形用户界面,具有友好开放性,方便不断地研究和扩充。

    GUI;SIMULINK;MATLABAbstract

    Using MATLAB software for signal spectrum analysis of the design, and through the GUI interface (graphical user interface) signal spectrum analysis of the dynamic design. Users can interactively with the computer targeting parameters for the establishment, control algorithm selection, and the discrete signals and continuous signal analysis of the dynamic spectrum. MATLAB and Simulink embedded module, the signal system to achieve spectral analysis, meet the needs of different users with different needs.

    MATLAB GUIDE is devoted to the graphical user interface (GUI) design procedures for the rapid development environment, This paper introduced GUIDE start from the context of the specific examples of graphical interface software, GUIDE is produced using a graphical user interface methods. Through this paper, the study of the use of simulation GUIDE interface design can not only right for discrete signal and the signal dynamic spectrum analysis, but also the issue for further analysis and forecasts. GUIDE technology based on the production of graphical user interface is friendly and open, facilitate researchers continue to study and expanded.

    Keywords  Spectrum Analysis ;GUI;SIMULINK;MATLAB

    目 录

    摘 要I

    AbstractII

    第1章 绪论1

    1.1 MATLAB应用软件简介1

    1.2课题研究的内容2

    1.2.1信号的频谱分析2

    1.2.2信号频谱分析的原理3

    1.2.3频谱分析与显示原理3

    1.2.4对三阶交调进行模拟分析3

    1.2.5伪彩色编码的动态频谱图显示4

    1.2.6宽带频谱图与窄带频谱图5

    1.3 GUI界面设计实现5

    1.4 SIMULINK6

    1.4.1 SIMULINK模型与文件7

    1.4.2 SIMULINK仿真原理7

    第2章MATLAB工具箱的概述及GUI界面的简介8

    2.1引言8

    2.2句柄图形及图形用户界面8

    2.3 GUIDE8

    2.4编制回调程序10

    2.5主界面10

    2.6子界面11

    2.7基于MATLAB信号处理工具箱的数字滤波器设计与仿真11

    2.8带通滤波器设计实例12

    第3章 GUI界面下噪声信号的频谱分析与实现14

    3.1概述14

    3.2 MATLAB信号处理工具箱介绍及功能14

    3.2.1MATLAB工具箱介绍14

    3.2.2工具箱功能15

    展开全文
  • 基于 MATLAB数字信号发生器摘 要:数字信号发生器是基于软硬件实现的一种波形发生仪器。在工工程实践中需要检测和分析的各种复杂信号均可分解成各简单信号之和,而这些简单信号皆可由数字信号发生器模拟产生,...
  • 基于MATLAB数字信号发生器设计报告摘要:数字信号发生器是基于软硬件实现的一种波形发生仪器。在工工程实践中需要检测和分析的各种复杂信号均可分解成各简单信号之和,而这些简单信号皆可由数字信号发生器模拟产生...
  • 怎样使用Matlab和任意波形发生器创建直接合成信号应用指南怎样使用 Matlab 和任意波形发生器创建直接合成信号每名工程师在工作时都要解决许多问题,而当前最具挑战性的设计问题之一是创建能够真正执行主板或芯片测试...
  • IIR数字滤波器设计及软件实现 Matlab

    热门讨论 2009-12-08 14:49:11
    (3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。 2.实验原理 设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。基本设计过程是:①先将...
  • 尽管在工作台上摆满脉冲发生器、函数发生器、调制发生器和RF发生器也不失为一种方法,但使用任意波形发生器(AWG)直接合成生成信号提供了更高的灵活性、可重复性和测量精度。灵活性源自我们生成波形的方式,其直接...
  • 吉林工程技术师范学院信息工程学院第一章 绪论31.1通信的发展史简介31.2设计的目的及意义4第二章 数字基带信号52.1数字基带调制原理52.2单极性不归零波形62.3双极性不归零波形62.4单极性归零波形72.5双极性归零波形8...
  • 基于MATLAB数字信号处理 IIR数字滤波器设计及软件实现
  • nbsp实验设计Matlab数字信号处理实验报告.doc26页本文档一共被下载:次,您可全文免费在线阅读后下载本文档。 下载提示1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予...
  • MATLAB数字信号设计开题报告主要内容一、课题意义本课题能避开硬件系统的不足,巧妙的运用软件来仿真硬件才能实现的实验结果,大大降低了实验设备要求,节约了人力和财力,而且有很多的库函数可以在实验时直接调用,...
  • 基于MATLAB数字信号处理 FIR数字滤波器设计及软件实现
  • 一、简介 音频是多媒体中的一种重要媒体。我们能够听见的音频信号的频率范围大约是20Hz-2OkHz,其中语音大约分布在300Hz-4kHz之...2) 实时显示处理前的信号时域波形文件,能够对波形文件进行缩放显示; 3) 实时显示处
  • 韦志棉’ 黄行键摘 要 数字电路的验证和调试是一件繁琐的工作费时费力又需一些昂贵的仪器(本文采用 )*+,*-附带的仿真工具 ./012/34进行数字电路的验证5调试5仿真5省时5省 力5成本低(关键词 )*+,*- 数字电路 ./012/...
  • 基于matlab数字逻辑电路仿真 XXX毕业设计(论文)专 业: 题 目: 作 者 姓 名 : 导 师 及 职 称 : 导师所在单位: 2011年 6 月 15 日XXX本科毕业设计(论文)任务书2011 届 学院专业学生姓名: Ⅰ 毕业设计(论文)...
  • MATLAB数字信号仿真系统。类似一个教学仿真软件,把枯燥的,抽象的,不具体的内容做进GUI界面,通过调节参数即可汇出出对应波形,让学生了解具体的,有趣的数字信号。课题包括信号发生器,时域频域方法,抽象信号,...
  • 在Arduino DSP系列的第二部分中,我们将继续深入研究数字信号处理的基础知识。我们将学习数字滤波器的特性以及在MATLAB中处理信号时如何...软件Matlab第1步:如何将信号导入 Matlab用Audacity录制语音信号后,现在是...
  • 毕业设计-基于MATLAB数字调制演示系统 基于 MATLAB 数字调制演示系统毕业设计开题报告题目 基于 MATLAB 的数字调制演示系统学生姓名彭红亮学号 20041699班级电0403专业 电子科学与技术一 、文献综述通信原理是通信...
  • MATLAB数字信号仿真系统。类似一个教学仿真软件,把枯燥的,抽象的,不具体的内容做进GUI界面,通过调节参数即可汇出出对应波形,让学生了解具体的,有趣的数字信号。课题包括信号发生器,时域频域方法,抽象信号,...
  • 基于MATLAB信号波形与频谱分析_00002基于MATLAB的信号波形与频谱分析摘 要本文利用软件进行设计并通过GUI界面(图形用户界面)实现动态设计。用户可与计算机交互式地进行对象参数的设置、控制算法的选取、以及。并利用...
  • 题目 基于MATLAB数字频带通信系统仿真摘要本论文研究了数字频带传输的性能。围绕基本结构发送滤波器、调制器、信道、解调器、接收滤波器等部分进行仿真。在分析数字频带传输基本原理的基础上,从两方面理论分析其...
  • MATLAB数字信号仿真系统。类似一个教学仿真软件,把枯燥的,抽象的,不具体的内容做进GUI界面,通过调节参数即可汇出出对应波形,让学生了解具体的,有趣的数字信号。课题包括信号发生器,时域频域方法,抽象信号,...
  • 基于matlab数字控制器设计与仿真.doc 滁州学院本科毕业论文目录摘要1ABSTRACT11绪论211数字控制器的发展概况212课题研究意义2121课题研究内容2122本课题研究意义213论文主要研究工作及结构安排3131方案的确立3132...
  • 基于MATLAB数字基带通信系统仿真

    万次阅读 多人点赞 2020-10-18 16:19:01
    本论文主要研究了数字信号的基带传输的基本概念及数字信号基带传输的传输过程和如何用MATLAB软件仿真设计数字基带传输系统。本文首先介绍了MATLAB仿真软件。然后介绍了本课题的理论依据,包括数字通信,数字基带传输...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,059
精华内容 823
关键字:

matlab数字波形软件

matlab 订阅