要用到FIR滤波器和抽样器下面研究这两个的Matlab实现:

Fir滤波器:

matlab上fir滤波器的关键字是fir1

在command窗口输入help fir1出现帮助文档:

>> help fir1
fir1 FIR filter design using the window method.                                              fir滤波器使用窗函数法设计
B = fir1(N,Wn) designs an N'th order lowpass FIR digital filter                         B = fir1(N,Wn)这样是设计一个N阶低通滤波器
and returns the filter coefficients in length N+1 vector B.                                以一个N+1阶向量的形式返回滤波器系数
The cut-off frequency Wn must be between 0 < Wn < 1.0, with 1.0                截止频率Wn在0~1之间
corresponding to half the sample rate. The filter B is real and                          1.0表示截止频率为半 采样率

has linear phase. The normalized gain of the filter at Wn is                              这样得到的滤波器B是实且线性相位
-6 dB.                                                                                                        截止频率处的增益Wn是-6dB

B = fir1(N,Wn,'high') designs an N'th order highpass filter.                             B = fir1(N,Wn,'high') 产生一个N阶高通滤波器
You can also use B = fir1(N,Wn,'low') to design a lowpass filter.                      B = fir1(N,Wn,'low') 可以产生N阶低通滤波器

If Wn is a two-element vector, Wn = [W1 W2], fir1 returns an                        如果Wn(Wn = [W1 W2])是二元向量,fir1函数返回一个N阶带通滤波器
order N bandpass filter with passband W1 < W < W2. You can                        通带是W1到W2, B = fir1(N,Wn,'bandpass')用来产生带通滤波器

also specify B = fir1(N,Wn,'bandpass'). If Wn = [W1 W2],                              B = fir1(N,Wn,'stop')产生带阻
B = fir1(N,Wn,'stop') will design a bandstop filter.

If Wn is a multi-element vector,                                                                   如果Wn是一个多元向量

Wn = [W1 W2 W3 W4 W5 ... WN],                                                             例如Wn = [W1 W2 W3 W4 W5 ... WN], 
fir1 returns an order N multiband filter with bands                                         fir1函数产生一个多频带?滤波器
0 < W < W1, W1 < W < W2, ..., WN < W < 1.                                            0 < W < W1, W1 < W < W2, ..., WN < W < 1.                        
B = fir1(N,Wn,'DC-1') makes the first band a passband.                                B = fir1(N,Wn,'DC-1')表示第一个频带是通带
B = fir1(N,Wn,'DC-0') makes the first band a stopband.                                B = fir1(N,Wn,'DC-1')表示第一个频带是阻带

B = fir1(N,Wn,WIN) designs an N-th order FIR filter using                             B = fir1(N,Wn,WIN) ,WIN是长度为N+1的窗的向量,会产生一个N阶脉冲响应
the N+1 length vector WIN to window the impulse response.
If empty or omitted, fir1 uses a Hamming window of length N+1.                 如果没有参数WIN,fir1函数会默认使用长度为N+1的汉明窗
For a complete list of available windows, see the help for the                       查看窗函数了解更多WIN的知识
WINDOW function. KAISER and CHEBWIN can be specified with an              可以这样添加窗函数
optional trailing argument. For example, B = fir1(N,Wn,kaiser(N+1,4)) 
uses a Kaiser window with beta=4. B = fir1(N,Wn,'high',chebwin(N+1,R))      
uses a Chebyshev window with R decibels of relative sidelobe
attenuation.

For filters with a gain other than zero at Fs/2, e.g., highpass    
and bandstop filters, N must be even. Otherwise, N will be    
incremented by one. In this case the window length should be
specified as N+2.

By default, the filter is scaled so the center of the first pass band
has magnitude exactly one after windowing. Use a trailing 'noscale'
argument to prevent this scaling, e.g. B = fir1(N,Wn,'noscale'),
B = fir1(N,Wn,'high','noscale'), B = fir1(N,Wn,wind,'noscale'). You
can also specify the scaling explicitly, e.g. fir1(N,Wn,'scale'), etc.

% Example 1:
% Design a 48th-order FIR bandpass filter with passband
% 0.35 <= w <= 0.65.

b = fir1(48,[0.35 0.65]); % Window-based FIR filter design
freqz(b,1,512) % Frequency response of filter

% Example 2:
% The chirp.mat file contains a signal, y, that has most of its power
% above fs/4, or half the Nyquist frequency. Design a 34th-order FIR
% highpass filter to attenuate the components of the signal below
% fs/4. Use a cutoff frequency of 0.48 and a Chebyshev window with
% 30 dB of ripple.

load chirp; % Load data (y and Fs) into workspace
y = y + 0.5*rand(size(y)); % Adding noise
b = fir1(34,0.48,'high',chebwin(35,30)); % FIR filter design
freqz(b,1,512); % Frequency response of filter
output = filtfilt(b,1,y); % Zero-phase digital filtering
figure;
subplot(211); plot(y,'b'); title('Original Signal')
subplot(212); plot(output,'g'); title('Filtered Signal')

See also kaiserord, fircls1, fir2, firls, fircls, cfirpm,
firpm, freqz, filter, window, designfilt.

help fft                                                                                                     fft函数
fft Discrete Fourier transform.                                                                    fft离散傅里叶变换
fft(X) is the discrete Fourier transform (DFT) of vector X. For                        fft(X)表示对向量X做离散傅里叶变换
matrices, the fft operation is applied to each column. For N-D
arrays, the fft operation operates on the first non-singleton
dimension.

fft(X,N) is the N-point fft, padded with zeros if X has less                             fft(X,N) 对X做N点傅里叶变换,X点数不够补0有多截断
than N points and truncated if it has more.

fft(X,[],DIM) or fft(X,N,DIM) applies the fft operation across the
dimension DIM.

For length N input vector x, the DFT is a length N vector X,
with elements
N
X(k) = sum x(n)*exp(-j*2*pi*(k-1)*(n-1)/N), 1 <= k <= N.
n=1
The inverse DFT (computed by IFFT) is given by
N
x(n) = (1/N) sum X(k)*exp( j*2*pi*(k-1)*(n-1)/N), 1 <= n <= N.
k=1

See also fft2, fftn, fftshift, fftw, ifft, ifft2, ifftn.

fft 的参考页
名为 fft 的其他函数

大毕设-MATLAB-常用知识回顾的更多相关文章

  1. javascript常用知识汇总

    javascript这个语言庞大而复杂,我用了三年多了,还是皮毛都不会.从刚开始的jquery,到后来的es6,每天都在学习,每天都在忘记. 1.禁止手机虚拟键盘弹出 在开发适配手机的页面时,出现了这 ...

  2. [C#] C# 知识回顾 - 你真的懂异常(Exception)吗?

    你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介 ...

  3. [C#] C# 知识回顾 - 学会处理异常

    学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...

  4. [C#] C# 知识回顾 - 学会使用异常

    学会使用异常 在 C# 中,程序中在运行时出现的错误,会不断在程序中进行传播,这种机制称为“异常”. 异常通常由错误的代码引发,并由能够更正错误的代码进行 catch. 异常可由 .NET 的 CLR ...

  5. [C#] C# 知识回顾 - 异常介绍

    异常介绍 我们平时在写程序时,无意中(或技术不够),而导致程序运行时出现意外(或异常),对于这个问题, C# 有专门的异常处理程序. 异常处理所涉及到的关键字有 try.catch 和 finally ...

  6. C# 知识回顾 - 装箱与拆箱

    装箱与拆箱 目录 生活中的装箱与拆箱 C# 的装箱与拆箱 值类型和引用类型 装箱 拆箱 生活中的装箱与拆箱    我们习惯了在网上购物,这次你想买本编程书 -- <C 语言从入门到放弃> ...

  7. [C#] C# 知识回顾 - 装箱与拆箱

    装箱与拆箱 目录 生活中的装箱与拆箱 C# 的装箱与拆箱 值类型和引用类型 装箱 拆箱 读者见解 生活中的装箱与拆箱    我们习惯了在网上购物,这次你想买本编程书 -- <C 语言从入门到放弃 ...

  8. C++ 基础知识回顾总结

    一.前言 为啥要写这篇博客?答:之前学习的C和C++相关的知识,早就被自己忘到一边去了.但是,随着音视频的学习的不断深入,和C/C++打交道的次数越来越多,看代码是没问题的,但是真到自己操刀去写一些代 ...

  9. [C#] C# 知识回顾 - Lambda

    C# 知识回顾 - Lambda 序 它是第十一个希腊字母,一个拥有失意.无奈.孤独.低调等含义的流行符号,也指示一款称为“半条命”的游戏. 不过,这次我所讲的是 C# 中的 Lambda. 目录 L ...

随机推荐

  1. SparkConf加载与SparkContext创建(源码阅读四)

    sparkContext创建还没完呢,紧接着前两天,我们继续探索..作死... 紧接着前几天我们继续SparkContext的创建: 接下来从这里我们可以看到,spark开始加载hadoop的配置信息 ...

  2. step by step install Caffe

    Caffe + Ubuntu 14.04 + CUDA 8 + cudnn 8.0+Ananconda3+opencv3.0.0 //由于本人使用的是英文版ubuntu,没装汉语输入法,暂时就用蹩脚的 ...

  3. 理解C++的inline函数

    C++的inline函数就是编译器在编译代码时,将"对此函数的每一个调用"都以函数本体替换之,该过程发生在编译期间. inline函数的优点是,它可以省去函数调用所带来的额外开销, ...

  4. 四则运算GUI设计2.0

    使用QT设计的界面如下: 程序流程是点击开始出题,会在题目后面的框中显示所出的题目,在输入答案以后点击提交答案会判断输入的答案是否正确. 输入后的界面: 部分代码如下: qtyunsuan.h文件: ...

  5. vim学习

    vim编辑器的工作模式分为3种 1.Command Mode 命令模式 2.Insert Mode 插入模式 3.Lastline Mode 底行模式 vim 打开文件时处于命令模式,i 可以切换到插 ...

  6. 尚学堂Spring视频教程(六):AOP Annotation

    此处省略N个字.... 直接看下面 推荐链接: Spring Aop实例之AspectJ注解配置

  7. 十三、File Translator怎么写

    ---恢复内容开始--- 1. File Translator可以将信息从maya中导入和导出. 2. 创建一个file translator需要从MPxFileTranslator继承. 3. 函数 ...

  8. 自动化测试 using System.Windows.Automation;

    frameworke3.0 及以上 using System.Windows.Automation; UIAutomationClient.dll UIAutomationClientsideProv ...

  9. git 源代码下载和安装(CentOS)

    1.阅读INSTALL文件 $ make configure ;# as yourself$ ./configure --prefix=/usr ;# as yourself$ make all do ...

  10. session的常用方法。

    void setAttribute(String attribute, Object value) 设置Session属性.value参数可以为任何Java Object.通常为Java Bean.v ...