07 2011 档案
频率选择滤波器 线性时不变系统
摘要:通常线性是不变系统根据频率响应H(w)来改变输入信号频谱X(w),产生的频谱为:Y(w) = H(w)X(w)的输出信号首先看下理想滤波器给图给真相: 理想滤波器特性:1、具有常数增益的带通特性,带阻部分增益为0;2、线性相位响应。来看下线性相位响应产生的原因:例子:理想滤波器频率响应:(常数增益的带通特性,带阻部分增益为0)输出信号:傅里叶变换的缩放与时移性可见滤波器输出只是幅度缩放与延时 不认为是信号失真这里提到的时移性这儿来回顾下:时间域向右平移相当于相位减小即矢量顺时针旋转这儿有个’单位延时‘概念 即相位对频率的倒数(相频特性: )求到后为常数n 可见所有输出的频率分量的延迟都一样总结
阅读全文
DA (分布式算法)
摘要:SOP(SUM OF PRODUCTS)乘积求和考虑参数:乘积数表示格式 是否有符号位乘积数位宽累加器位宽 为保证动态范围额外设计的位宽DA(Distribute Arithmetic)1.无符号DA算法流程:将X[n]看为变量 并按二进制分解表示Xb[n]:标志位第n次抽样的数的第b位假设每次抽样的数量化位宽为B将X项展开并重新排列将C项展开所谓的重新排序其实可看为是矩阵运算刚开始出现一个矩阵:竖方向为第n次抽样递增 横方向为第b位递减把两个矩阵相乘转换为3个矩阵相乘其中有矩阵倒置操作每一次n次抽样中得到的的第b位分别于C的第n位相乘进一步表示为:每位都在同时计算速度大大提高!!实现框图(P
阅读全文
时序分析 基本术语 摘记 (ALTERA 官方教程)
摘要:跟交通系统似的我们将要讨论的所有内容都基于这张原理图。 源寄存器把信号驱动至目的寄存器。 这些寄存器可能都在FPGA设计中,也可能其中一个来自板上FPGA的外部第三方器件。 源寄存器和目的寄存器都由某一时钟源提供时钟,一般是这里显示的同一时钟源,但是,也可以是两个不同的源提供时钟。 对于这样的寄存器至寄存器通路,我们把发送沿定义为激活源寄存器的时钟沿。 锁存沿是激活目的寄存器的时钟沿。 这些时钟沿之间的关系被用于确定寄存器至寄存器的数据传送是否正常。 这些关系来自设计人员输入的时钟约束。 还要注意的是数据有效窗口,两个寄存器之间通路上数据信号有效的时间,在锁存沿之前稳定一些时间,锁存沿之后还要
阅读全文
周期采样小结
摘要:周期采样小结1.假频:频域信号二意性1. 何为假频?相同的采样点,可理解为不同的波形2.数学语言解释:t = nts (ts为采样时间间隔)(k为整数)X(n)不仅代表 的正弦波,同时也可理解为代表的正弦波,(即这两者采样没有区别)因此产生了假频例如:时域图频域图当为6K采样频率采样 假设要采7k的信号7K会产生1K···的假频 同样4k 会产生-2K····的假频(这里出现的负频率在后面讨论)按采样频率倍数出现假频2. 采样——低通信号1.低通信号频谱:采样后频谱(其实应为离散点):(假频 周期重复)采样频率过小产生谱的混
阅读全文
Discreat fourier transform summary
摘要:Discreat fourier transform summary1. 傅里叶变换 与 离散傅里叶变换DFTDFT 是一个数学过程:用于确定离散信号的频率成分。离散信号时重连续信号中采样而得。来看下数学语言表达:傅里叶变换:DFT: 2. 对于DFT的理解:先来一段直觉上的理解:(是傅里叶变换的理解)(来句题外话:数学语言果然是最简洁精确的科学语言!!!!)傅里叶变化是将时域的信息转到频域,重而可以重另一个角度来处理这些在时域上比较复杂的信息这是一个时域到频域的映射过程在频域中是由这些个‘频域分量’构成频域世界的坐标(其实本来是频率本身作为坐标的)。 我认为cos与sin只是作为频率的载体(
阅读全文
FFT算法8点12位硬件实现 (verilog)
摘要:FFT算法8点12位硬件实现 (verilog) 1一.功能描述: 1二.设计结构: 2三.设计模块介绍 31.蝶形运算(第一级) 32.矢量角度旋转(W) 43.CORDIC 结果处理 除法单元模块 84.蝶形运算(第二,三级) 95.Vectoring CORDIC 模块 106.输出并转串模块 11四.工程纵览 12五.功能测试 13六.工程结束遐想 14一.功能描述:对12位(带符号位)数据进行8点FFT计算8个12位数据并行输入(懒得写前端的串转并模块,)8个12位数据并行处理,计算8个数据串行输出二.设计结构:图2.1 FFT并行计算模块图2.2 输出并转串模块图2.3 FFT算法
阅读全文
哈佛大学凌晨4点半的景象【转】
摘要:曾经在某个学期的课件中用过一个哈佛凌晨4点的图片(上图),来和学生探讨当代中国高校——即便是所谓的名校里面的学生们学习时间所占的比重,结论肯定是汗颜的……所以,当我再次看到这个标题时,原本是了然的,但是,朋友从中选取的qq签名——“学习时的苦痛是暂时的,未学到的痛苦是终生的”,终于让我再次拾起,并以期其能转达至我所在乎的人——弟弟、妹妹、表弟、表妹以及有缘的学生们:就一句话,要想收获更多成功便需付出更多努力……下面是转载的文章:在网上看到这篇文章,觉得很有感触,或许这再一次印证任何人每一次的成功背后都有不为人知的付出和汗水。哈佛老师经常给学生这样的告诫:如果你想在进入社会后,在任何时候任何场.
阅读全文
FFT 算法硬件描述 (8点)
摘要:采用基2算法(频率抽样)首先确定有几级DFT: N = 8 so v = 3 (级)-0/8 0度-1/8 -45度-2/8 -90度-3/8 -135度为节约时间 0度 与-90 度 不采用 cordic (achieved by 2’s complement and BUS exchange)故整个三级DFT只有第一级需要两个 CORDIC注意 第一级是输入是real(时域采样回来的值) 第二第三极输入是real , image有很多方法完成这三级这里简单说下三个方案:a迭代方式:用一级模块反复计算3次特点:占用资源少 耗时大b流水线方式 :使用3个模块分别计算特点:占用资源大 耗时小c(
阅读全文
CORDIC的硬件算法实现(摘录整理)
摘要:该系统完成的是一个平面坐标旋转如图 1所示,可以看出,将向量(X i ,Y i ) 旋转 角,得到一个新的向量 ( Xj,Yj)。 将Rcos()展开 矩阵形式硬件上用乘除法很耗资源,未来节省资源采用这样的思路:最常用的代替乘法的方式是移位运算来看下把这乘法最终转换为移位的思路:移位运算只能做乘除2. 但这些运算组合可形成大的乘除法将要旋转的角度分解,每次完成一小块,多次后就可逼近角度值分解(逼近)方式入下: 其中的第n次旋转过程 第n次的旋转角度必须是这个(n为任意值)(arctan(1)= 45度) Sn为符号(-,+) ,各种 组合成 (即真正要旋转的角度) Zn为未旋转的角度~~~~~
阅读全文
二补数 (2's complement)
摘要:二补数 (2's complement) :是一种用二进位表示有号数的方法,也是一种将数字的正负号变号的方式,常在计算机科学中使用。一个数字的二补数就是将该数字作位元反向运算(即一补数),再将结果加 1,即为该数字的二补数。 在二补数系统中,一个负数就是用其对应正数的二补数来表示。优点:二补数系统的最大优点是可以在加法或减法处理中,不需因为数字的正负而使用不同的计算方式。 只要一种加法电路就可以处理各种有号数加法,而且减法可以用一 个数加上另一个数的二补数来表示,因此只要有加法电路及二补数电路即可完成各种有号数加法及减法,在电路设计上相当方便。特点:二补数系统的 0 只有一个表示方式,
阅读全文
matlab FFT()执行时间
摘要:Nmax = 2048; fft_time = zeros(1,Nmax); for n = 1:1:Nmax x = rand(1,n); %Uniformly distributed pseudorandom numbers t = clock;fft(x);fft_time(n)= etime(clock,t); end n = [1:1:Nmax]; plot(n,fft_time,'.') xlabel('N'); ylabel('Time in sec'); title('FFT execution times');
阅读全文
DFT简化计算理解(FFT)
摘要:DFT:WN=e^(-j*2*pi/N)DFT复杂度o(N^2)降低与N^2的依赖 使N = LM (L^2+m^2 <= N^2)N点DFT分解为M段L点DFT一维的N点序列变为(L,M)二维序列,每一行分别进行DFT举例两种一维到二维的映射关系n = Ml+m13579246810n = l+mL12345678910与之所求的DFT 也可存入相对应的(q,p)矩阵中以第一种(n = Ml+m)为例:k = Mp+q找书麻烦这里给出推到:重一维到二维两种流程:按列存入信号计算每行M点DFT乘以相位因子计算每一列的L点DFT按行读取所得数组图示:来看下基2_FFT算法:上图的N/2点的
阅读全文
快卷积 (批处理运算)
摘要:常用于连续接收的信号(语音信号等) ,将这个序列可当做无限长序列、大的DFT会有不可接受的大延迟。因此必须将这个无限长的序列分割为比较小的部分。利用DFT处理每一段最后整合。由上一节可知:当响应为M点,输入为N点时(M<N),取N = N做循环卷积事,会有(M-1)个的重叠为啦实现块卷积我们可以如此来分块:x(n)=(n+1) 0<=n<=9分段:X1(N) = {0,0,1,2,3,4,}X2(N) = {3,4,5,6,7,8}X3(N) = {7,8,9,10,0,0}每个响应前两个都会重叠,使不清楚原来的值,(所以预先重复,且组合时前两个舍去)
阅读全文
线性卷积 matlab 实现
摘要:x1 = [1,2,2,1]; x2 = [1,-1,-1,1]; x3 = conv(x1,x2)x1 = [1,2,2,1]; x2 = [1,-1,-1,1]; %x3 = conv(x1,x2) %MATLAB 自带的函数 circonvt(x1,x2,9) %前面一节刚写的函数如果将X1 与X2 通过补零而成为N =(N1+N2-1)点序列,那么循环卷积就与线性卷积一样了。差别在于循环移位和线性移位。x1 = [1,2,2,1]; x2 = [1,-1,-1,1]; %x3 = conv(x1,x2) circonvt(x1,x2,7)x1 = [1,2,2,1]; x2 = [1,
阅读全文
序列循环移位
摘要:function m = mod(n,N) %computes m = mod(n mod N) %___________________ %m = mod(n,N) m = rem(n,N); m = m+N; m = rem(m,N);function y = cirshiftt(x,m,N) %circular shift of m samples wrt size N in sequnce x: %----------------------------------------------------- %[y] = cirshiftt(x,m,N) %y = output seque
阅读全文
DFT 离散傅里叶变换 与 补零运算
摘要:function [Xk] = dft(xn,N) %computes discrete fourier transform %--------------------------------------------- %[Xk] = dft(xn,N) %Xk = DFT coeff. array over 0<= k<=N-1 %xn = one period of periodic signal over 0<= n<= N-1 % N = Fundamental period of xn % n = [0:1:N-1]; k = [0:1:N-1]; WN =
阅读全文
浙公网安备 33010602011771号