精华内容
下载资源
问答
  • 使用MATLAB设计FIR低通滤波器 ** 关于现代通信原理作业。 https://blog.csdn.net/tanghonghanhaoli/article/details/100533581 这是老师给出的提示,里面有比较详细的讲解,下面写一些我的想法。 1. 为什么要设计低...

    **

    使用MATLAB设计FIR低通滤波器

    **
    关于现代通信原理作业。
    https://blog.csdn.net/tanghonghanhaoli/article/details/100533581
    这是老师给出的提示,里面有比较详细的讲解,下面写一些我的想法。

    1. 为什么要设计低通滤波器
    我们可以看到例子中给的m(t)在时域中已经是物理可实现的信号了,但是在频域上看这个信号的频谱是无限宽的,显然这用计算机是难以处理的,加上Sa信号旁瓣的影响并不是很大,所以我们考虑滤除旁瓣,即使用低通滤波器。

    2. 关于如何设计低通滤波器的理论分析
    对于例题中是想保留Sa信号±10Hz内的频率分量,即需要设计一个频率范围在±10Hz的低通滤波器h(t),也就是频域为一个方波信号H(f)。由信号与系统的知识可得,频域方波,时域则为Sa信号。时域h(t)如果为标准的Sa函数,则在t<0的时候,h(t)还会有值,这明显是物理不可实现的,所以这里考虑将h(t)进行一定的时移。

    注意:这里并不会影响滤波器的功能,因为时域平移对应频域的相移,但是幅度没有改变,所以即使时域平移了,频域的幅频特性并不会改变,依然是在±10Hz通过信号。

    3. 关于MATLAB的Filter Designer
    在MATLAB的Filter Designer中就将中心移到了(N/2)*Ts,N就是对h(t)的抽样点个数。时域抽样点越多,对应的时域波形就越接近Sa信号,频域就越接近方波,即越接近我们要的低通滤波器。同时,如果抽样频率Fs不变,则Ts也不会改变,抽样点N增加,那么中心平移得就更多了,即时延就更多了;换个角度理解,抽样点更多,抽样时间间隔Ts不变,也就意味着对更高频的旁瓣也会被采样,则被采样的Sa信号更宽了,占用的时间也更多了,也能想象时延会更大。

    但是在MATLAB中,N好像是由系统根据你设置的参数自动匹配的。我没有看到设置抽样个数N的选项,只有设置抽样频率Fs的选项,N会根据你设置的Fs进行自动匹配,就是设置完参数后点击Design Filter后,左上角看到的order的数值。Fs增加,即Ts减小,N会随之增加,在MATLAB中,我们可以看到两者的变化速率是一致的,所以中心始终在一个位置。(所以我在想是不是MATLAB关于Design Filter的系统设置就是只采样主瓣和相邻几个旁瓣的数值,这样也确实已经很接近一个Sa信号了,更高频的旁瓣其实幅度很小,近似为0应该也不会带来太多误差)
    在这里插入图片描述

    本人学生,难免学艺不精,若有疏漏错误之处,敬请指正!

    展开全文
  • 1 绪 论 1.1 引言 滤波技术是信号分析信号处理技术的重要分支无论是信号的获取传输还是信号的处理转换都离不开滤波技术滤波技术对信号安全可靠和有效灵活的传递至关重要1 在电子系统由于滤波器的好坏直接影响...
  • 充分利用有限冲击响应数字滤波器(Finite Impulse Response digital filter ,FIR)系数的对称特性,借助于MATLAB语言和现场可编程门阵列(FPGA)实现了一种高效的低通滤波器。设计过程通过简化的VHDL语言编写程序...
  • 本m文件基于matlab使用firpm函数计算出滤波器系数,从而完成了使用FIR滤波器拟合一阶RC电路的功能。这种思想可以扩展到其他的传输函数上。
  • matlab中使用不同的窗函数构造FIR数字低通滤波器

    万次阅读 多人点赞 2018-05-31 23:16:10
    实验目的和要求: • 1.通过窗函数法设计FIR滤波器,加深对FIR滤波器基本原理的理解。 • 2.学习使用窗函数法设计FIR滤波器,... 理想低通滤波器设计: function my_output=ideallp(wc,N) %Ideal Lowpass fi...

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

    原理:
    ex5.1

    实现环境:
    Matlab

    理想低通滤波器设计:

    function my_output=ideallp(wc,N)
    %Ideal Lowpass filter computation
    %------------------------------------
    %[hd]=ideal_lp(wc,M)
    % hd=ideal impulse response between 0 to M-1
    % wc=cutoff frequency in radians
    % M=length of the ideal filter
    %
    alpha=(N-1)/2;
    n=0:1:(N-1);
    m=n-alpha+eps;
    my_output=sin(wc*m)./(pi*m);
    end
    
    1. Boxcar窗
    wp=0.2*pi;                          
    ws=0.3*pi;                         
    deltaw=ws-wp;                     
    N=ceil(1.8*pi/deltaw);              
    wc=(wp+ws)/2;                       
    hd=ideallp(wc,N);                    
    wd1=boxcar(N)';                     
    h1=hd.*wd1;                         
    [H1,w]=freqz(h1,1);                
    plot(w/pi,20*log10(abs(H1)));
    title('矩形窗');
    

    得到频率响应曲线如下:

    2.Kaiser窗
    wp=0.2*pi;
    ws=0.5*pi;
    As=50;                              
    deltaf=(ws-wp)/(2*pi);
    N=ceil((As-7.95)/(14.36*deltaf))+1; %
    beta=0.1102*(As-8.7); 
    wdkai=kaiser(N,beta)';
    wc=(ws+wp)/2;
    hd=ideallp(wc,N);
    h=hd.*wdkai;
    [H,w]=freqz(h,1);
    plot(w/pi,20*log10(abs(H)));
    title('凯泽窗');

    得到频率响应图像如下:

    3.triang窗
    wp=0.2*pi;                          %
    ws=0.3*pi;
    As=50;
    deltaw=ws-wp;
    N=ceil(6.1*pi/deltaw);
    wdtri=triang(N)';
    wc=(wp+ws)/2;
    hd=ideallp(wc,N);
    h=hd.*wdtri;
    [H,w]=freqz(h,1);
    plot(w/pi,20*log10(abs(H)));
    title('Triang');

    得到频率响应图像如下:

    4.hanning窗 wp=0.2*pi; % ws=0.3*pi; As=50; deltaw=ws-wp; N=ceil(6.2*pi/deltaw); wdhann=hanning(N)’; wc=(wp+ws)/2; hd=ideallp(wc,N); h=hd.*wdhann; [H,w]=freqz(h,1); plot(w/pi,20*log10(abs(H))); title(‘Hanning’); 得到频率响应图像如下:
    5.hamming窗
    wp=0.2*pi;                          %
    ws=0.3*pi;
    As=50;
    deltaw=ws-wp;
    N=ceil(6.6*pi/deltaw);
    wdhamm=hamming(N)';
    wc=(wp+ws)/2;
    hd=ideallp(wc,N);
    h=hd.*wdhamm;
    [H,w]=freqz(h,1);
    plot(w/pi,20*log10(abs(H)));
    title('Hamming');
    

    得到频率响应图像如下:

    6.blackman窗
    wp=0.2*pi;                          %
    ws=0.3*pi;
    As=50;
    deltaw=ws-wp;
    N=ceil(6.1*pi/deltaw);
    wdblack=blackman(N)';
    wc=(wp+ws)/2;
    hd=ideallp(wc,N);
    h=hd.*wdblack;
    [H,w]=freqz(h,1);
    plot(w/pi,20*log10(abs(H)));
    title('Blackman');

    得到频率响应图像如下:


    一、 主瓣的宽度由N决定,旁瓣的衰减由窗函数的形状决定。
    二、 Kaiser的不同在于可以同时调整主瓣宽度和旁瓣衰减,这是其他窗函数不具备的。

    三、 实际滤波的应用
    设置初始信号为10Hz的余弦与40Hz余弦叠加而成的信号,分别采用以上滤波方法滤波。

    1. boxcar
    %初始信号
    t=0:0.01:2;
    y=cos(2*pi*10*t)+cos(2*pi*40*t);
    subplot(2,1,1);
    plot(t,y);
    title('initial signal');
    yfft=fftshift(fft(y));
    w=-50:0.5:50;
    subplot(2,1,2);
    plot(w,abs(yfft));
    axis([0 50 0 100]);
    title('frequence');
     %滤波器内容
    wp=0.2*pi;                          
    ws=0.3*pi;                         
    deltaw=ws-wp;                      
    N=ceil(1.8*pi/deltaw);            
    wc=(wp+ws)/2;                       
    hd=ideallp(wc,N);                 
    wd1=boxcar(N)';                   
    h1=hd.*wd1;
    final=fftfilt(h1,y,200);
      %滤波之后的信号
    figure;
    subplot(2,1,1);
    plot(final);
    title('processed signal');
    ynfft=fftshift(fft(final));
    subplot(2,1,2);
    plot(w,abs(ynfft));
    axis([0 50 0 100]);
    title('frequence filted');
    

    运行结果如下:
    初始信号如下


    处理后信号如下:


    可见40Hz分频成分明显降低,而10Hz分频保留较好。
    同理,更改代码中的滤波器部分分别得到下面几个滤波结果对比
    2. Kaiser

    t=0:0.01:2;
    y=cos(2*pi*10*t)+cos(2*pi*40*t);
    w=-50:0.5:50;
    
    wp=0.2*pi;
    ws=0.5*pi;
    As=50;                              %
    deltaf=(ws-wp)/(2*pi);
    N=ceil((As-7.95)/(14.36*deltaf))+1; %
    beta=0.1102*(As-8.7); 
    wdkai=kaiser(N,beta)';
    wc=(ws+wp)/2;
    hd=ideallp(wc,N);
    h=hd.*wdkai;
    
    final=fftfilt(h1,y,200);
    subplot(2,1,1);
    plot(final);
    title('processed signal');
    ynfft=fftshift(fft(final));
    subplot(2,1,2);
    plot(w,abs(ynfft));
    axis([0 50 0 100]);
    title('frequence filted');
    
    3. Triang
    t=0:0.01:2;
    y=cos(2*pi*10*t)+cos(2*pi*40*t);
    w=-50:0.5:50;
    
    wp=0.2*pi;                          %
    ws=0.3*pi;
    As=50;
    deltaw=ws-wp;
    N=ceil(6.1*pi/deltaw);
    wdtri=triang(N)';
    wc=(wp+ws)/2;
    hd=ideallp(wc,N);
    h=hd.*wdtri;
    
    final=fftfilt(h1,y,200);
    subplot(2,1,1);
    plot(final);
    title('processed signal');
    ynfft=fftshift(fft(final));
    subplot(2,1,2);
    plot(w,abs(ynfft));
    axis([0 50 0 100]);
    title('frequence filted');
    


    1. Hanning
    t=0:0.01:2;
    y=cos(2*pi*10*t)+cos(2*pi*40*t);
    w=-50:0.5:50;
    
    wp=0.2*pi;                          %
    ws=0.3*pi;
    As=50;
    deltaw=ws-wp;
    N=ceil(6.2*pi/deltaw);
    wdhann=hanning(N)';
    wc=(wp+ws)/2;
    hd=ideallp(wc,N);
    h=hd.*wdhann;
    
    final=fftfilt(h1,y,200);
    subplot(2,1,1);
    plot(final);
    title('processed signal');
    ynfft=fftshift(fft(final));
    subplot(2,1,2);
    plot(w,abs(ynfft));
    axis([0 50 0 100]);
    title('frequence filted');
    
    5. Hamming
    t=0:0.01:2;
    y=cos(2*pi*10*t)+cos(2*pi*40*t);
    w=-50:0.5:50;
    
    wp=0.2*pi;                          %
    ws=0.3*pi;
    As=50;
    deltaw=ws-wp;
    N=ceil(6.6*pi/deltaw);
    wdhamm=hamming(N)';
    wc=(wp+ws)/2;
    hd=ideallp(wc,N);
    h=hd.*wdhamm;
    
    final=fftfilt(h1,y,200);
    subplot(2,1,1);
    plot(final);
    title('processed signal');
    ynfft=fftshift(fft(final));
    subplot(2,1,2);
    plot(w,abs(ynfft));
    axis([0 50 0 100]);
    title('frequence filted');
    
    6. Blackman
    t=0:0.01:2;
    y=cos(2*pi*10*t)+cos(2*pi*40*t);
    w=-50:0.5:50;
    
    wp=0.2*pi;                          %
    ws=0.3*pi;
    As=50;
    deltaw=ws-wp;
    N=ceil(6.1*pi/deltaw);
    wdblack=blackman(N)';
    wc=(wp+ws)/2;
    hd=ideallp(wc,N);
    h=hd.*wdblack;
    
    final=fftfilt(h1,y,200);
    subplot(2,1,1);
    plot(final);
    title('processed signal');
    ynfft=fftshift(fft(final));
    subplot(2,1,2);
    plot(w,abs(ynfft));
    axis([0 50 0 100]);
    title('frequence filted');
    


    不同滤波方式衰减过程不同,但由于此次信号只有两个分频,体现的不太明显。

    展开全文
  • 基于MATLAB的IIR和FIR滤波器设计-实验4 FIR数字滤波器设计.doc IIR:在MATLAB中,可以用下列函数辅助设计IIR数字滤波器:1)利用buttord和cheb1ord可以确定低通原型巴特沃斯和...用凯塞窗设计一FIR低通滤波器
  • 基于MATLAB的IIR和FIR滤波器设计-实验5 基于MATLAB的数字滤波器设计.doc IIR:在MATLAB中,可以用下列函数辅助设计IIR数字滤波器:1)利用buttord和cheb1ord可以确定低通原型巴特沃斯...用凯塞窗设计一FIR低通滤波器
  • 基于C#的窗函数法低通FIR滤波器

    千次阅读 2019-06-16 13:06:49
    基于Visual Studio 2015 开发环境,使用C#编程语言,运用窗函数法构造了FIR低通滤波器。并通过MATLAB对其滤波效果进行了试验。 由于凯泽窗的数学模型过于复杂,笔者能力有限,故无法在本文给出凯泽窗的窗函数代码...

    基于C#的窗函数法低通FIR滤波器

    摘要

    基于Visual Studio 2015 开发环境,使用C#编程语言,运用窗函数法构造了FIR低通滤波器。并通过MATLAB对其滤波效果进行了试验。
    由于凯泽窗的数学模型过于复杂,笔者能力有限,故无法在本文中给出凯泽窗的窗函数代码。

    源代码
    1、矩形窗函数

    namespace Low_Pass_FIR_Fliter
    {
        class Boxcar
        {
            public int N = 0;
            public Boxcar (double Wp, double Ws)
            {
                int i;
                double n = (0.9 * 2 * Math.PI) / (Ws - Wp);//计算滤波器长度
                for (i = 0; i < n; i++) ;
                N = i;//得到滤波器长度
            }
            public double[] Get_Win()//返回N点矩形窗序列
            {
                int n;
                double[] wd = new double[N];
                for (n = 0; n < N; n++)
                {
                    wd[n] = 1;
                }
                return wd;
            }
        }
    }
    

    2、三角窗函数

    namespace Low_Pass_FIR_Fliter
    {
        class Bartlett
        {
            public int N = 0;
            public Bartlett (double Wp, double Ws)
            {
                int i;
                double n = (2.1 * 2 * Math.PI) / (Ws - Wp);//计算滤波器长度
                for (i = 0; i < n; i++) ;
                N = i;//得到滤波器长度
            }
            public double[] Get_Win()//返回N点三角窗序列
            {
                int n;
                double[] wd = new double[N];
                for (n = 0; n < N; n++)
                {
                    if(n<=((N-1)/2))
                    {
                        wd[n] = (2 * n / (N - 1));
                    }
                    if(n > ((N - 1) / 2))
                    {
                        wd[n] = 2 - (2 * n / (N - 1));
                    }
                }
                return wd;
            }
        }
    

    3、汉宁窗

    namespace Low_Pass_FIR_Fliter
    {
        class Hanning
        {
            public int N = 0;
            public Hanning(double Wp, double Ws)
            {
                int i;
                double n = (3.1 * 2 * Math.PI) / (Ws - Wp);//计算滤波器长度
                for (i = 0; i < n; i++) ;
                N = i;//得到滤波器长度
            }
            public double[] Get_Win()//返回N点汉宁窗序列
            {
                int n;
                double[] wd = new double[N];
                for (n = 0; n < N; n++)
                {
                    double b = Math.Cos((2 * Math.PI*n) / (N - 1));
                    double res = (0.5 - 0.5 * b);
                    wd[n] = res;
                }
                return wd;
            }
        }
    }
    

    4、汉明窗

    namespace Low_Pass_FIR_Fliter
    {
        public class Hamming
        {
            public int N = 0;
            public Hamming(double Wp,double Ws)
            {
                int i;
                double n = (3.3 * 2 * Math.PI) / (Ws-Wp);//计算滤波器长度
                for (i = 0; i < n; i++) ;
                N = i ;//得到滤波器长度
            }
            public double [] Get_Win()//返回N点汉明窗序列
            {
                int n ;
                double[] wd=new double[N];
                for(n=0;n<N;n++)
                {
                    double b = Math.Cos((2*n * Math.PI) / (N-1));
                    double res = (0.54 - 0.46 * b);
                    wd[n] = res;
                }
                return wd;
            }
        }
    }
    

    5、布莱克曼窗

    namespace Low_Pass_FIR_Fliter
    {
        class Blackman
        {
            public int N = 0;
            public Blackman (double Wp, double Ws)
            {
                int i;
                double n = (5.5 * 2 * Math.PI) / (Ws - Wp);//计算滤波器长度
                for (i = 0; i < n; i++) ;
                N = i;//得到滤波器长度
            }
            public double[] Get_Win()//返回N点布莱克曼窗序列
            {
                int n;
                double[] wd = new double[N];
                for (n = 0; n < N; n++)
                {
                    double a = Math.Cos((2 * n * Math.PI) / (N - 1));
                    double b = Math.Cos((4 * n * Math.PI) / (N - 1));
                    double res = (0.42 - 0.5 * a + 0.08 * b);
                    wd[n] = res;
                }
                return wd;
            }
        }
    }
    

    6、单位冲激响应

    namespace Low_Pass_FIR_Fliter
    {
        class UnitImpulseReact
        {
            private double Wc;
            private int alpha;
            private int N;
            public UnitImpulseReact(double Wp,double Ws,int N)//构造单位冲激响应
            {
                this.Wc = 0.5 * (Wp + Ws);//取近似截止频率
                if (N % 2 != 0)
                {
                    this.alpha = (N - 1) / 2;//计算相移常数
                }
                else
                {
                    this.alpha = N / 2;
                }
                this.N = N;
            }
            public double[] Get_UIR()//获取单位冲激响应序列
            {
                double[] hd = new double[N];
                for(int n=0;n<N;n++)
                {
                    double numerator = Math.Sin(Wc * (n - alpha));
                    double denominator = Math.PI * (n - alpha);
                    if (n == alpha)//当n=α时,取极限
                    {
                        hd[n] = Wc / Math.PI;
                    }
                    else
                    {
                        hd[n] = numerator / denominator;
                    }
                }
                return hd;
            }
        }
    }
    

    使用MATLAB做正确性检验

    大致思路:自定义一个15点序列,通过频谱图确定技术指标。分别通过MATLAB标准做法和自编程序对其进行滤波,若滤波结果大致一致,则可认为这个滤波器程序是正确的。

    自定义序列 x[n]={ 16 12 2 -4 -1 1 -3 11 -27 18 15 -9 11 21 3} 该序列对应的频谱图为:
    自定义序列的频谱特性
    选取通带边界频率ωp=0.2π,阻带边界频率ωs=0.3π,阻带衰减>30dB。由此,选择汉宁窗。通过MATLAB程序构成的低通滤波器b1的频谱图为:
    在这里插入图片描述
    滤波后的序列y的频率特性为(将>0dB的部分局部放大)
    在这里插入图片描述
    同样的,在程序中基于预定的滤波器特性构建汉宁窗,并结合单位冲激响应得到滤波器的单位样值响应

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.IO;
    
    namespace Low_Pass_FIR_Fliter
    {
        class Program
        {
            static void Main(string[] args)
            {
                Hanning win = new Hanning(0.2 * Math.PI, 0.3 * Math.PI);//构造汉宁窗
                UnitImpulseReact UIR = new UnitImpulseReact(0.2 * Math.PI, 0.3 * Math.PI, win.N);//构造单位冲激响应
                double[] hd = new double[win.N];
                double[] w = new double[win.N];
                double[] h = new double[win.N];
                string[] res = new string[win.N];//定义数组
                w = win.Get_Win();//获取窗函数序列
                hd = UIR.Get_UIR();//获取单位冲激响应序列
                for(int i=0;i<win.N;i++)
                {
                    h[i] = w[i] * hd[i];//得到滤波器序列
                }
                for (int i = 0; i < win.N; i++)
                {
                    res[i] = Convert.ToString(h[i]);//将滤波器序列点数转化成字符串形式,准备写入文件
                }
                File.WriteAllLines(@"C:\VS2015\C#Programe\Low-Pass_FIR_Fliter\Low-Pass_FIR_Fliter\sequence.txt", res);//写入文件,用于MATLAB的后续处理
            }
        }
    }
    

    通过程序获得的滤波器b2的频率特性为:
    在这里插入图片描述
    程序滤波器滤波后的序列y1的频率特性为(同样将>0dB的部分局部放大)
    在这里插入图片描述

    通过波形比较可以认为程序生成的滤波器是成功的。

    展开全文
  • verilog matlab fir 滤波器设计

    千次阅读 2021-02-03 20:59:50
    这里写自定义目录标题欢迎使用Markdown编辑...丰富你的文章UML 图表FLowchart流程图导出与导入导出导入FPGA FIR滤波器设计最近课程项目需要用到低通滤波器,对已调信号进行低通滤波。之前用altera的fir ip核来做,但

    FPGA FIR滤波器设计

    最近课程项目中需要用到低通滤波器,对已调信号进行低通滤波。之前用altera的fir ip核来做,但是fir ip核的仿真实在是太难了,一直找不到库,弄了好久也没搞好。直接上板用signaltap抓信号的话由于电脑太垃圾编译一次时间太长,调试的心累。只好先暂时不用ip核。这两天看到用matlab软件生成verilog语言的fir滤波器,感觉挺有意思,记录一下。

    matlab滤波器设置界面

    先进入matlab输入fdatool进入滤波器设置界面。

    设置想用的窗函数和滤波器类型,设置采样率和截止频率(理论上采样率不低于奈奎斯特频率)。这里我的测试波形选用的是一个4Mhz的正弦波和一个0.04Mhz的正弦波的混叠波形。于是我将截止频率设置为1M。

    同时在生成滤波器的时候要注意一点就是最好在设置的时候结合自己生成的波形的位宽来设置滤波器的输入输出位宽,否则后续处理会比较麻烦。

    在这里插入图片描述

    点击design fiter之后再点Targets–Generate HDL,选择语法为verilog,生成filter文件和tb_filter文件。

    生成的filter文件有五个信号,我没有具体研究,我将clk_enable使能信号直接置1,reset信号直接置0。剩下的2个信号连接我的用来测试的正弦波文件的时钟引脚和混叠信号引脚,一个输出引脚用来观察滤波之后波形。

    最终效果不错,滤波非常成功。

    展开全文
  • 1.在matlab中通过fdatool工具设计相关滤波器(常用的低通,高通,带通等),导出coe文件,或者直接在file中导出;注意:要在量化的界面选择自己的量化位宽,这里方便对应fir的coe文件; 如下图: 2.然后打开...
  • matlab进行FIR滤波器设计(一)

    千次阅读 2018-04-22 19:50:03
    在实际的应用,有时需要使用FIR根据完成一些特定功能,比如近似一阶RC低通电路的响应,等等。如何确定FIR滤波器的系数呢?http://www.360doc.com/content/17/0518/21/1832721_655109467.shtml 有这么一段话: ...
  • 使用双线性变换椭圆形IIR,FIR采用布莱克曼窗(窗函数更改比较方便,下载后可以自行变换),代码包含音频文件,注意在代码修改路径,包含高通、低通、带通对比,FIR与IIR对比。
  • FPGA实现FIR滤波器

    万次阅读 多人点赞 2017-07-05 17:54:38
    本次设计首先利用MATLAB中的FDAtool工具设计出一个采样频率为5KHZ、截止频率为1KHZ的FIR低通滤波器,通过FDAtool导出8点系数,然后将系数进行放大、取整,以便于在FPGA中使用,最后通过QuartusII进行Verilog语言编写...
  • 使用MATLAB生成滤波器有很多学问,这里只是作为初步的探索,和FPGA的更多结合,也正在探索,相关博文例如:【 FPGA 】FIR滤波器目录,该专题目录正在记录我学习FIR滤波器的过程。 MATLAB生成30阶低通1MHz海明窗...
  • 本次设计首先利用MATLAB中的FDAtool工具设计出一个采样频率为5KHZ、截止频率为1KHZ的FIR低通滤波器,通过FDAtool导出8点系数,然后将系数进行放大、取整,以便于在FPGA中使用,最后通过QuartusII进行Verilog语言编写...
  • 采用改进并行分布式算法设计了一种16抽头FIR数字低通滤波器,首先用Matlab工具箱的FDATool设计滤波器系数,然后使用硬件描述语言Verilog HDL和原理图,实现了子模块和系统模块设计,在Matlab与QuartusII对系统...
  • 1.打开quartus ii并创建项目文件 2.创建ip核,搜索fir,选择FIR Compiler v13.0。...4.点击step1,进入滤波器设计阶段,点击new coefficient set进行设置滤波器参数,filter type选择你所需要的滤波器,有低通、高通

空空如也

空空如也

1 2 3
收藏数 53
精华内容 21
关键字:

matlab中使用fir低通滤波器

matlab 订阅