DNA图谱 / 问答 / 问答详情

数字信号处理中按时间和按频率抽选的4点FFT运算流图怎么画啊 高手教一下

2023-07-11 13:03:07
共2条回复
黑桃花

这个用说的不容易说也不容易理解,建议还是弄本书来看,书上讲得很详细

阳光下的日耳曼尼亚

课本上应该有画蝶形图的例子吧!四点的还是很好画的,对照课本的例子,自己画一遍会对按时间和频率的FFT运算有深刻理解的,最后自己动手画画,这样对自己真的很有帮助!

相关推荐

蝶形运算蝶距怎么求

蝶形运算蝶距用公式求。公式为k等于xr。蝶距有专用的运算公式。输出就是频谱,是蝶形运算,得出的是以2点为周期的幅值,以4点为周期的幅值,以6点为周期的幅值,以8点为周期的幅值,以此类推。
2023-07-10 20:38:571

蝶形运算的旋转因子怎么算

蝶形运算的旋转因子计算:旋转因子是WnkN(nk是上标,N是下标),n是原序列里的某一点,k是DFT(或FFT)后的序列某一点,N为变换的点数。WnkN=e^[-j*2pi*n*k/N],这是一个复指数项。do_fft函数:如果需要计算的序列长为2,两个位置分别写为x[0]+x[1]和x[0]-x[1]然后返回。对需要计算的序列前半部分调用do_fft函数。对需要计算的序列后半副本调用do_fft函数。for (int i=0; i<length/2; ++i) 。x[i+length/2] *= Wi;注意这里需要先确定需要的是哪个W。x[i]和x[i+length/2] 分别改写为 x[i]+x[i+length/2]和x[i]-x[i+length/2]。蝶形结此词汇仍最常使用于库利-图基快速傅立叶变换算法中,利用递回的方式将n点离散傅立叶运算中的n点输入分解为 n=r*m,转换输入信号为r点的m组信号分别进行r点离散傅立叶运算(换句焕说就是r点DFT做m次)。而r点的离散傅立叶运算基本上为转换后的输入信号乘上旋转因子以蝶形结架构做加法运算。(前述为时域抽取法的运算方式,逆向操作先进行蝶形结架构做加法运算,再乘上旋转因子,则为频域抽取法运算方式)。
2023-07-10 20:39:031

蝶形运算的公式

Wnk =e^-j (2Π/n) *k =cos(-(2Π/n)* k)-j*sin((2Π/n)* k)
2023-07-10 20:39:181

一个蝶形运算包含的复乘数和复加数分别是()。

一个蝶形运算包含的复乘数和复加数分别是()。 A.1次,1次B.1次,2次C.2次,1次D.2次,2次正确答案:1次,2次
2023-07-10 20:39:301

4点ditfft蝶形运算图怎么画

16点以此类推,两个8点。图像运算指以图像为单位进行的搡作(该操作对图像中的所有像素同样进行),运算的结果是一幅其灰度分布与原来参与运算图像灰度分布不同的新图像。具体的运算主要包括算术和逻辑运算,它们通过改变像素的值来得到图像增强的效果。算术和逻辑运算中每次只涉及一个空间像素的位置,所以可以“原地”完成,即在(x,y)位置做一个算术运算或逻辑运算的结果可以存在其中一个图像的相应位置,因为那个位置在其后的运算中不会再使用。换句话说,设对两幅图像f(x,y) 和h(x,y)的算术或逻辑运算的结果是g(x,y),则可直接将g(x,y)覆盖f(x,y)或h(x,y),即从原存放输入图像的空间直接得到输出图像。
2023-07-10 20:39:361

蝶距是什么

蝶距是蝶形输入信号节点数。根据查询相关资料可知,在蝶形运算中,蝶距是蝶形输入两信号点间的节点数,各类蝶形运算两个点相距的距离称蝶距,蝶距规律为最后一级的蝶距为N2,依次向左为N4、N8。蝶形蝶距运算为任何一个N为2整数幂的DFT,可以通过M次分解,成为2点DFT来计算。
2023-07-10 20:39:431

按时间抽取的蝶形运算是先相乘还是先加减?

先向,呈现相承,现在都是先相乘然后再加减,如果加减法就算出来就结果就不对
2023-07-10 20:39:502

以2为基的FFT算法的基本运算单元是什么?

T/FFT的发展历史离散傅里叶变换(Discrete Fourier Transform,DFT)是数字信号处理最重要的基石之一,也是对信号进行分析和处理时最常用的工具之一。在200多年前法国数学家、物理学家傅里叶提出后来以他名字命名的傅里叶级数之后,用DFT这个工具来分析信号就已经为人们所知。历史上最伟大的数学家之一。 欧拉是第一个使用“函数”一词来描述包含各种参数的表达式的人,例如:y = f(x)。他是把微积分应用于物理学的先驱者之一。 给出了一个用实变量函数表示傅立叶级数系数的方程; 用三角级数来描述离散声音在弹性媒介中传播,发现某些函数可以通过余弦函数之和来表达。 但在很长时间内,这种分析方法并没有引起更多的重视,最主要的原因在于这种方法运算量比较大。直到1965年,Cooley和Tukey在《计算机科学 》发表著名的《机器计算傅立叶级数的一种算法》论文,FFT才开始大规模应用。那个年代,有个肯尼迪总统科学咨询委员会。其中有项研究主题是,对苏联核测试进行检测,Tukey就是其中一员。美国/苏联核测试提案的批准,主要取决于不实地访问核测试设施而做出检测的方法的发展。其中一个想法是,分析离海岸的地震计情况,这种计算需要快速算法来计算DFT。其它应用是国家安全,如用声学探测远距离的核潜艇。所以在军事上,迫切需要一种快速的傅立叶变换算法,这也促进了FFT的正式提出。FFT的这种方法充分利用了DFT运算中的对称性和周期性,从而将DFT运算量从N2减少到N*log2N。当N比较小时,FFT优势并不明显。但当N大于32开始,点数越大,FFT对运算量的改善越明显。比如当N为1024时,FFT的运算效率比DFT提高了100倍。在库利和图基提出的FFT算法中,其基本原理是先将一个N点时域序列的DFT分解为N个1点序列的DFT,然后将这样计算出来的N个1点序列DFT的结果进行组合,得到最初的N点时域序列的DFT值。实际上,这种基本的思想很早就由德国伟大的数学家高斯提出过,在某种情况下,天文学计算(也是现在FFT应用的领域之一)与等距观察的有限集中的行星轨道的内插值有关。由于当时计算都是靠手工,所以产生一种快速算法的迫切需要。 而且,更少的计算量同时也代表着错误的机会更少,正确性更高。高斯发现,一个富氏级数有宽度N=N1*N2,可以分成几个部分。计算N2子样本DFT的N1长度和N1子样本DFT的N2长度。只是由于当时尚欠东风——计算机还没发明。在20世纪60年代,伴随着计算机的发展和成熟,库利和图基的成果掀起了数字信号处理的革命,因而FFT发明者的桂冠才落在他们头上。之后,桑德(G.Sand)-图基等快速算法相继出现,几经改进,很快形成了一套高效运算方法,这就是现在的快速傅立叶变换(FFT)。这种算法使DFT的运算效率提高1到2个数量级,为数字信号处理技术应用于各种信号的实时处理创造了良好的条件,大大推进了数学信号处理技术。1984年,法国的杜哈梅(P.Dohamel)和霍尔曼(H.Hollamann)提出的分裂基块快速算法,使运算效率进一步提高。库利和图基的FFT算法的最基本运算为蝶形运算,每个蝶形运算包括两个输入点,因而也称为基-2算法。在这之后,又有一些新的算法,进一步提高了FFT的运算效率,比如基-4算法,分裂基算法等。这些新算法对FFT运算效率的提高一般在50%以内,远远不如FFT对DFT运算的提高幅度。从这个意义上说,FFT算法是里程碑式的。可以说,正是计算机技术的发展和FFT的出现,才使得数字信号处理迎来了一个崭新的时代。除了......
2023-07-10 20:41:092

C语言编写一个一维傅里叶函数

#include<stdio.h>#include <math.h>class complex //定义一个类,实现复数的所有操作{double Real,Image; //实部与虚部public:complex(double r="0",double i="0"){Real=r;Image=i;} double GetR(){return Real;} //取出实部double GetI(){return Image;} //取出虚部complex operator + (complex &); //复数加法complex operator - (complex &); //复数减法 complex operator * (complex &); //复数乘法void operator =(complex &); //复数 赋值};complex complex::operator + (complex &c) //复数加法{complex t;t.Real=Real+c.Real;t.Image=Image+c.Image;return t;}complex complex::operator - (complex &c) //复数减法{complex t;t.Real=Real-c.Real;t.Image=Image-c.Image;return t;}complex complex::operator * (complex &c) //复数乘法{complex t;t.Real=Real*c.Real-Image*c.Image;t.Image=Real*c.Image+Image*c.Real;return t;}void complex::operator = (complex &c) //复数 赋值{Real=c.Real;Image=c.Image;}void fft(complex a[],int length,int jishu) //实现fft的函数{const double PI="3".141592653589793;complex u,Wn,t;int i,j,k,m,kind,distance,other; double tmp; for(i=0;i<length;i++) //实现倒叙排列{ k="i"; j=0; for(m=0;m<jishu;m++) { j="j"*2+k%2; k/=2; } if(i<j) { t="a"; a=a[j]; a[j]=t; }} for(m=1;m<=jishu;m++) //第m级蝶形运算,总级数为jishu{ kind = (int)pow(2,m-1); //第m级有2^(m-1)种蝶形运算 distance = 2*kind; //同种蝶形结相邻距离为2^m u=complex(1,0); //旋转因子初始值为 1 tmp=PI/kind; Wn=complex(cos(tmp),-sin(tmp));//旋转因子Wn for(j=0;j<kind;j++) //每种蝶形运算的起始点为j,共有kind种 { for(i=j;i<length;i+=distance) //同种蝶形运算 { other=i+kind;//蝶形运算的两个因子对应单元下标的距离为2^(m-1) t=a[other]*u; // 蝶形运算的乘积项 a[other]=a-t; //蝶形运算 a=a+t; //蝶形运算 } u="u"*Wn; //修改旋转因子,多乘一个基本DFT因子WN }}}void main(void){ double a,b;complex x[8]; //此程序以8点序列测试printf("8点序列: ");for(int i="0";i<8;i++) //初始化并输出原始序列{ x=complex(i,i+1); printf("x(%d) = %lf + %lf i ",i+1,x.GetR(),x.GetI());} fft(x,8,3); //调用fft函数printf("fft变换的结果为: ");for(i=0;i<8;i++) //输出结果 printf("X(%d)= %lf + %lf i ",i+1,x.GetR(),x.GetI());}
2023-07-10 20:41:241

如何实现128点的基2-FFT算法,并与MATLAB的fft算法作对比分析.

我给你我写的程序吧: x=ones(1,128); %输入的信号,自己可以改变 %整体运用原位计算 m=nextpow2(x);N=2^m; % 求x的长度对应的2的最低幂次m if length(x)<N x=[x,zeros(1,N-length(x))]; % 若x的长度不是2的幂,补零到2的整数幂 end nxd=bin2dec(fliplr(dec2bin([1:N]-1,m)))+1; % 求1:2^m数列序号的倒序 y=x(nxd); % 将x倒序排列作为y的初始值 for mm=1:m % 将DFT作m次基2分解,从左到右,对每次分解作DFT运算,共做m级蝶形运算,每一级都有2^(mm-1)个蝶形结 Nz=2^mm;u=1; % 旋转因子u初始化为WN^0=1 WN=exp(-i*2*pi/Nz); % 本次分解的基本DFT因子WN=exp(-i*2*pi/Nz) for j=1:Nz/2 % 本次跨越间隔内的各次蝶形运算,在进行第mm级运算时需要2^(mm-1)个 蝶形 for k=j:Nz:N % 本次蝶形运算的跨越间隔为Nz=2^mm kp=k+Nz/2; % 蝶形运算的两个因子对应单元下标的关系 t=y(kp)*u; % 蝶形运算的乘积项 y(kp)=y(k)-t; % 蝶形运算 y(k)=y(k)+t; % 蝶形运算 end u=u*WN; % 修改旋转因子,多乘一个基本DFT因子WN end end y y1=fft(x) %自己编的FFT跟直接调用的函数运算以后的结果进行对比因为输入是128个1所以结果就是这样,我最后不是有结果比对么?相减是全0的话不就对了么!?,你可以改变输入,多选择几组值来检验.
2023-07-10 20:41:311

请教高手:如何用Matlab自己编写基2的fft函数

按时间抽取 我有function ret_val = fft1(vector)%======================================%ret_val 为fft变换后返回的频域序列%N 为点数%vector 为变换前的序列%======================================vector_size = size(vector);N = vector_size(2);c = zeros(1,N);%%变址运算%j1 = 0;for i = 1 : N if i < j1 + 1 tmp = vector(j1 + 1); vector(j1 + 1) = vector(i); vector(i) =tmp; end k = N / 2; while k <= j1 j1 = j1 - k; k = k / 2; end j1 = j1 + k;end%%蝶形运算%%%%%%%%计算 N 的dig = 0;k = N;while k > 1 dig = dig + 1; k = k / 2;end%%%%%%% m 为级; dist 为蝶形运两点的距离; n 为蝶形运算组数%n = N / 2;for m = 1 : dig dist = 2 ^ (m - 1); idx = 1; for i = 1 : n idx1 = idx; for j1 = 1 : N / (2 * n) r = (idx - 1) * 2 ^ (dig - m); coef = exp(j * (-2 * pi * r / N)); tmp = vector(idx); vector(idx) = tmp + vector(idx + dist) * coef; vector(idx + dist) = tmp - vector(idx + dist) * coef; idx = idx + 1; end idx = idx1 + 2 * dist; end n = n / 2;endret_val = vector;
2023-07-10 20:41:401

单片机实现傅立叶变换

用FPGA这种单片机在对FFT(快速傅立叶变换)算法进行研究的基础上,描述了用FPGA实现FFT的方法,并对其中的整体结构、蝶形单元及性能等进行了分析。关键词:FPGA FFT傅立叶变换是数字信号处理中的基本操作,广泛应用于表述及分析离散时域信号领域。但由于其运算量与变换点数N的平方成正比关系,因此,在N较大时,直接应用DFT算法进行谱变换是不切合实际的。然而,快速傅立叶变换技术的出现使情况发生了根本性的变化。本文主要描述了采用FPGA来实现2k/4k/8k点FFT的设计方法。1 整体结构一般情况下,N点的傅立叶变换对为:其中,WN=exp(-2 pi/N)。X(k)和x(n)都为复数。与之相对的快速傅立叶变换有很多种,如DIT(时域抽取法)、DIF(频域抽取法)、Cooley-Tukey和Winograd等。对于2n傅立叶变换,Cooley-Tukey算法可导出DIT和DIF算法。本文运用的基本思想是Cooley-Tukey算法,即将高点数的傅立叶变换通过多重低点数傅立叶变换来实现。虽然DIT与DIF有差别,但由于它们在本质上都是一种基于标号分解的算法,故在运算量和算法复杂性等方面完全一样,而没有性能上的优劣之分,所以可以根据需要任取其中一种,本文主要以DIT方法为对象来讨论。N=8192点DFT的运算表达式为:式中,m=(4n1+n2)(2048k1+k2)(n=4n1+n2,k=2048k1+k2)其中n1和k2可取0,1,...,2047,k1和n2可取0,1,2,3。由式(3)可知,8k傅立叶变换可由4×2k的傅立叶变换构成。同理,4k傅立叶变换可由2×2k的傅立叶变换构成。而2k傅立叶变换可由128×16的傅立叶变换构成。128的傅立叶变换可进一步由16×8的傅立叶变换构成,归根结底,整个傅立叶变换可由基2、基4的傅立叶变换构成。2k的FFT可以通过5个基4和1个基2变换来实现;4k的FFT变换可通过6个基4变换来实现;8k的FFT可以通过6个基4和1个基2变换来实现。也就是说:FFT的基本结构可由基2/4模块、复数乘法器、存储单元和存储器控制模块构成,其整体结构如图1所示。图1中,RAM用来存储输入数据、运算过程中的中间结果以及运算完成后的数据,ROM用来存储旋转因子表。蝶形运算单元即为基2/4模块,控制模块可用于产生控制时序及地址信号,以控制中间运算过程及最后输出结果。2 蝶形运算器的实现基4和基2的信号流如图2所示。图中,若A=r0+j*i0,B=r1+j*i1,C=r2+j*i2,D=r3+j*i3是要进行变换的信号,Wk0=c0+j*s0=1,Wk1=c1+j*s1,Wk2=c2+j*s2,Wk3=c3+j*s3为旋转因子,将其分别代入图2中的基4蝶形运算单元,则有:A′=[r0+(r1×c1-i1×s1)+(r2×c2-i2×s2)+(r3×c3-i3×s3)]+j[i0+(i1×c1+r1×s1)+(i2×c2+r2×s2)+(i3×c3+r3×s3)] (4)B′=[r0+(i1×c1+r1×s1)-(r2×c2-i2×s2)-(i3×c3+r3×s3)]+j[i0-(r1×c1-i1×s1)-(i2×c2+r2×s2)+(r3×c3-i3×s3)] (5)C′=[r0-(r1×c1-i1×s1)+(r2×c2-i2×s2)-(r3×c3-i3×s3)]+j[i0-(i1×c1+r1×s1)+(i2×c2+r2×s2)-(i3×c3+r3×s3)] (6)D′=[r0-(i1×c1+r1×s1)-(r2×c2-i2×s2)+(i3×c3+r3×s3)]+j[i0+(r1×c1-i1×s1)-(i2×c2+r2×s2)-(r3×c3-i3×s3)] (7)看明白了吗?
2023-07-10 20:41:492

如何实现128点的基2-FFT算法,并与MATLAB的fft算法作对比分析.

我只能给你一个fft算法,流程图说起来有点复杂,可以matlab里面的函数tic(开启时钟)t=toc(关闭时钟)t就是运算过程的时间当然tic放程序开始,toc放结尾,来分析之即可function d=lxfft(x)n=length(x);if n>2 for i=0:n/2-1 x1(i+1)=x(2*i+1); x2(i+1)=x(2*i+2); end X1=lxfft(x1); X2=lxfft(x2); for i=0:n/2-1 X2(i+1)= X2(i+1)*exp(-j*2*pi/n*i);//旋转因子 d(i+1)=X1(i+1)+X2(i+1); d(i+n/2+1)=X1(i+1)-X2(i+1); end else d(1)=x(1)+x(2); d(2)=x(1)-x(2);endend
2023-07-10 20:41:562

快速傅里叶变换的计算方法

计算离散傅里叶变换的快速方法,有按时间抽取的FFT算法和按频率抽取的FFT算法。前者是将时域信号序列按偶奇分排,后者是将频域信号序列按偶奇分排。它们都借助于的两个特点:一是周期性;二是对称性,这里符号*代表其共轭。这样,便可以把离散傅里叶变换的计算分成若干步进行,计算效率大为提高。时间抽取算法  令信号序列的长度为N=2,其中M是正整数,可以将时域信号序列x(n)分解成两部分,一是偶数部分x(2n),另一是奇数部分x(2n+1),于是信号序列x(n)的离散傅里叶变换可以用两个N/2抽样点的离散傅里叶变换来表示和计算。考虑到和离散傅里叶变换的周期性,式⑴可以写成⑶其中(4a)(4b)由此可见,式⑷是两个只含有N/2个点的离散傅里叶变换,G(k)仅包括原信号序列中的偶数点序列,H(k)则仅包括它的奇数点序列。虽然k=0,1,2,…,N-1,但是G(k)和H(k)的周期都是N/2,它们的数值以N/2周期重复。因为于是由式⑶和式⑷得到(5a)(5b)因此,一个抽样点数为N 的信号序列x(n)的离散傅里叶变换,可以由两个 N/2抽样点序列的离散傅里叶变换求出。依此类推,这种按时间抽取算法是将输入信号序列分成越来越小的子序列进行离散傅里叶变换计算,最后合成为N点的离散傅里叶变换。通常用图1中蝶形算法的信号流图来表示式⑸的离散傅里叶变换运算。例如,N=8=2的抽样点的信号序列x(n)的离散傅里叶变换,可用如图2所示的FET算法的信号流图来计算。① N=2点的离散傅里叶变换的计算全由蝶形运算组成,需要M级运算,每级包括N/2个蝶形运算,总共有 个蝶形运算。所以,总的计算量为次复数乘法运算和N log2N次复数加法运算。② FFT算法按级迭代进行,计算公式可以写成⑹N抽样点的输入信号具有N个原始数据x0(n),经第一级运算后,得出新的N个数据x1(n),再经过第二级迭代运算,又得到另外N个数据x2(n),依此类推,直至最后的结果x(k)=xM(k)=X(k)在逐级迭代计算中,每个蝶形运算的输出数据存放在原来存贮输入数据的单元中,实行所谓“即位计算”,这样可以节省大量存放中间数据的寄存器。③ 蝶形运算中加权系数随迭代级数成倍增加。由图2可以看出系数的变化规律。对于N=8,M=3情况,需进行三级迭代运算。在第一级迭代中,只用到一种加权系数;蝶形运算的跨度间隔等于1。在第二级迭代中,用到两种加权系数即、;蝶形运算的跨度间隔等于2。在第三级迭代中,用到4种不同的加权系数即、、、;蝶形运算的跨度间隔等于4。可见,每级迭代的不同加权系数的数目比前一级迭代增加一倍;跨度间隔也增大一倍。④ 输入数据序列x(n)需重新排列为x(0)、x⑷、x⑵、x⑹、x⑴、x⑸、x⑶、x⑺,这是按照二进制数的码位倒置所得到的反序数,例如N=8中数“1”的二进制数为“001”,将其码位倒转变为“100”,即为十进制数“4”。频率抽取算法 按频率抽取的 FFT算法是将频域信号序列X(k)分解为奇偶两部分,但算法仍是由时域信号序列开始逐级运算,同样是把N点分成N/2点计算FFT,可以把直接计算离散傅里叶变换所需的N次乘法缩减到次。在N=2的情况下,把N点输入序列x(n)分成前后两半⑺时间序列x1(n)±x2(n)的长度为N/2,于是N点的离散傅里叶变换可以写成(8a)(8b)频率信号序列X(2l)是时间信号序列x1(n)+x2(n)的N/2点离散傅里叶变换,频率信号序列X(2l+1)是时间信号序列【x1(n)-x2(n)】的N/2点离散傅里叶变换,因此,N点离散傅里叶变换的计算,通过两次加(减)法和一次乘法,从原来序列获得两个子序列,所以,频率抽取算法也具有蝶形运算形式。以2为基数的FFT基本蝶形运算公式为⑼其计算量完全和时间抽取算法一样,即只需次乘法运算和Nlog2N次加(减)法运算。图3 表示N=8=2点的离散傅里叶变换的信号流图。由图可见,它以三级迭代进行即位计算,输入数据是按自然次序存放,使用的系数也是按自然次序,而最后结果则以二进制反序存放。实际上,频率抽取算法与时间抽取算法的信号流图之间存在着转置关系,如将流图适当变形,可以得出多种几何形状。除了基2的FFT算法之外,还有基4、基8等高基数的FFT算法以及任意数为基数的FFT算法。
2023-07-10 20:42:041

matlab计算结果问题

推荐答案傅里叶变换能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。最初傅里叶分析是作为热过程的解析分析的工具被提出的。目录定义中文译名应用概要介绍基本性质线性性质频移性质微分关系卷积特性Parseval定理傅里叶变换的不同变种连续傅里叶变换傅里叶级数离散傅里叶变换时频分析变换数学领域整体结构蝶形运算器的实现FFT的地址旋转因子存储器的控制硬件的选择相关书籍推荐定义 中文译名应用 概要介绍 基本性质 线性性质 频移性质 微分关系 卷积特性 Parseval定理傅里叶变换的不同变种 连续傅里叶变换 傅里叶级数 离散傅里叶变换 时频分析变换数学领域 整体结构 蝶形运算器的实现 FFT的地址 旋转因子 存储器的控制 硬件的选择相关书籍推荐展开 编辑本段定义 f(t)满足傅立叶积分定理条件时,下图①式的积分运算称为f(t)的傅立叶变换, ②式的积分运算叫做F(ω)的傅立叶逆变换。F(ω)叫做f(t)的象函数,f(t)叫做 F(ω)的象原函数。 傅里叶变换① 傅里叶逆变换②中文译名 Fourier transform 或Transformée de Fourier有多个中文译名,常见的有“傅里叶变换”、“傅立叶变换”、“付立叶变换”、“傅里叶转换”、“傅氏转换”、“傅氏变换”、等等。为方便起见,本文统一写作“傅里叶变换”。编辑本段应用 傅里叶变换在物理学、电子类学科、数论、组合数学、信号处理、概率论、统计学、密码学、声学、光学、海洋学、结构动力学等领域都有着广泛的应用(例如在信号处理中,傅里叶变换的典型用途是将信号分解成幅值分量和频率分量)。编辑本段概要介绍 概要参见:林家翘、西格尔著《自然科学中确定性问题的应用数学》,科学出版社,北京。原版书名为 C. C. Lin & L. A. Segel, Mathematics Applied to Deterministic Problems in the Natural Sciences, Macmillan Inc., New York, 1974。 * 傅里叶变换属于谐波分析。 * 傅里叶变换的逆变换容易求出,而且形式与正变换非常类似; * 正弦基函数是微分运算的本征函数,从而使得线性微分方程的求解可以转化为常系数的代数方程的求解.在线性时不变的物理系统内,频率是个不变的性质,从而系统对于复杂激励的响应可以通过组合其对不同频率正弦信号的响应来获取; * 卷积定理指出:傅里叶变换可以化复杂的卷积运算为简单的乘积运算,从而提供了计算卷积的一种简单手段; * 离散形式的傅里叶变换可以利用数字计算机快速的算出(其算法称为快速傅里叶变换算法(FFT)).编辑本段基本性质线性性质 两函数之和的傅里叶变换等于各自变换之和。数学描述是:若函数f left( x ight )和g left(x ight)的傅里叶变换mathcal[f]和mathcal[g]都存在,α 和 β 为任意常系数,则mathcal[alpha f+eta g]=alphamathcal[f]+etamathcal[g];傅里叶变换算符mathcal可经归一化成为么正算符;频移性质 若函数f left( x ight )存在傅里叶变换,则对任意实数 ω0,函数f(x) e^{i omega_ x}也存在傅里叶变换,且有mathcal[f(x)e^{i omega_ x}]=F(omega + omega _0 ) 。式中花体mathcal是傅里叶变换的作用算子,平体F表示变换的结果(复函数),e 为自然对数的底,i 为虚数单位sqrt;微分关系 若函数f left( x ight )当|x| ightarrowinfty时的极限为0,而其导函数f"(x)的傅里叶变换存在,则有mathcal[f"(x)]=-i omega mathcal[f(x)] ,即导函数的傅里叶变换等于原函数的傅里叶变换乘以因子 u2212 iω 。更一般地,若f(pminfty)=f"(pminfty)=ldots=f^{(k-1)}(pminfty)=0,且mathcal[f^{(k)}(x)]存在,则mathcal[f^{(k)}(x)]=(-i omega)^ mathcal[f] ,即 k 阶导数的傅里叶变换等于原函数的傅里叶变换乘以因子( u2212 iω)k。卷积特性 若函数f left( x ight )及g left( x ight )都在(-infty,+infty)上绝对可积,则卷积函数f*g=int_{-infty}^{+infty} f(x-xi)g(xi)dxi的傅里叶变换存在,且mathcal[f*g]=mathcal[f]cdotmathcal[g] 。卷积性质的逆形式为mathcal^[F(omega)G(omega)]=mathcal^[F(omega)]*mathcal^[G(omega)] ,即两个函数乘积的傅里叶逆变换等于它们各自的傅里叶逆变换的卷积,同时还有两个函数卷积的傅里叶逆变换等于它们各自的傅里叶逆变换的乘积。Parseval定理 若函数f left( x ight )可积且平方可积,则int_{-infty}^{+infty} f^2 (x)dx = frac{2pi}int_{-infty}^{+infty} |F(omega)|^domega 。其中 F(ω) 是 f(x) 的傅里叶变换。编辑本段傅里叶变换的不同变种连续傅里叶变换 主条目:连续傅立叶变换 一般情况下,若“傅立叶变换”一词的前面未加任何限定语,则指的是“连续傅里叶变换”。“连续傅里叶变换”将平方可积的函数f(t) 表示成复指数函数的积分或级数形式。 f(t) = mathcal^[F(omega)] = frac{sqrt{2pi}} intlimits_{-infty}^infty F(omega) e^{iomega t},domega. 上式其实表示的是连续傅里叶变换的逆变换,即将时间域的函数f(t)表示为频率域的函数F(ω)的积分。反过来,其正变换恰好是将频率域的函数F(ω)表示为时间域的函数f(t)的积分形式。一般可称函数f(t)为原函数,而称函数F(ω)为傅里叶变换的像函数,原函数和像函数构成一个傅立叶变换对(transform pair)。 一种对连续傅里叶变换的推广称为分数傅里叶变换(Fractional Fourier Transform)。 当f(t)为奇函数(或偶函数)时,其余弦(或正弦)分量将消亡,而可以称这时的变换为余弦转换(cosine transform) 或 正弦转换(sine transform). 另一个值得注意的性质是,当f(t) 为纯实函数时,F(u2212ω) = F(ω)*成立.傅里叶级数 主条目:傅里叶级数 连续形式的傅里叶变换其实是傅里叶级数的推广,因为积分其实是一种极限形式的求和算子而已。对于周期函数,其傅里叶级数是存在的: f(x) = sum_{n=-infty}^{infty} F_n ,e^ , 其中Fn 为复振幅。对于实值函数,函数的傅里叶级数可以写成: f(x) = fraca_0 + sum_{n=1}^inftyleft[a_ncos(nx)+b_nsin(nx) ight], 其中an和bn是实频率分量的振幅。 离散时间傅里叶变换 主条目:离散时间傅里叶变换 离散傅里叶变换是离散时间傅里叶变换(DTFT)的特例(有时作为后者的近似)。DTFT在时域上离散,在频域上则是周期的。DTFT可以被看作是傅里叶级数的逆。离散傅里叶变换 主条目:离散傅里叶变换 为了在科学计算和数字信号处理等领域使用计算机进行傅里叶变换,必须将函数xn 定义在离散点而非连续域内,且须满足有限性或周期性条件。这种情况下, 使用离散傅里叶变换,将函数 xn 表示为下面的求和形式: x_n = frac1 sum_{k=0}^ X_k e^{ifrac{2pi} kn} qquad n = 0,dots,N-1 其中Xk是傅里叶振幅。直接使用这个公式计算的计算复杂度为mathcal(n^2),而快速傅里叶变换(FFT)可以将复杂度改进为mathcal(n log n)。计算复杂度的降低以及数字电路计算能力的发展使得DFT成为在信号处理领域十分实用且重要的方法。 在阿贝尔群上的统一描述 以上各种傅里叶变换可以被更统一的表述成任意局部紧致的阿贝尔群上的傅里叶变换。这一问题属于调和分析的范畴。在调和分析中, 一个变换从一个群变换到它的对偶群(dual group)。此外,将傅里叶变换与卷积相联系的卷积定理在调和分析中也有类似的结论。傅里叶变换的广义理论基础参见庞特里雅金对偶性(英文版)中的介绍。时频分析变换 主条目:时频分析变换 小波变换,chirplet转换和分数傅里叶转换试图得到时间信号的频率信息。同时解析频率和时间的能力在数学上受不确定性原理的限制。 傅里叶变换家族 下表列出了傅里叶变换家族的成员. 容易发现,函数在时(频)域的离散对应于其像函数在频(时)域的周期性.反之连续则意味着在对应域的信号的非周期性. 变换 时间 频率 连续傅里叶变换 连续, 非周期性 连续, 非周期性 傅里叶级数 连续, 周期性 离散, 非周期性 离散时间傅里叶变换 离散, 非周期性 连续, 周期性 离散傅里叶变换 离散, 周期性 离散, 周期性 傅里叶变换的基本思想首先由法国学者傅里叶系统提出,所以以其名字来命名以示纪念。 从现代数学的眼光来看,傅里叶变换是一种特殊的积分变换。它能将满足一定条件的某个函数表示成正弦基函数的线性组合或者积分。在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。 傅立叶变换属于调和分析的内容。"分析"二字,可以解释为深入的研究。从字面上来看,"分析"二字,实际就是"条分缕析"而已。它通过对函数的"条分缕析"来达到对复杂函数的深入理解和研究。从哲学上看,"分析主义"和"还原主义",就是要通过对事物内部适当的分析达到增进对其本质理解的目的。比如近代原子论试图把世界上所有物质的本源分析为原子,而原子不过数百种而已,相对物质世界的无限丰富,这种分析和分类无疑为认识事物的各种性质提供了很好的手段。编辑本段数学领域 尽管最初傅立叶分析是作为热过程的解析分析的工具,但是其思想方法仍然具有典型的还原论和分析主义的特征。"任意"的函数通过一定的分解,都能够表示为正弦函数的线性组合的形式,而正弦函数在物理上是被充分研究而相对简单的函数类,这一想法跟化学上的原子论想法何其相似!奇妙的是,现代数学发现傅立叶变换具有非常好的性质,使得它如此的好用和有用,让人不得不感叹造物的神奇: 1. 傅立叶变换是线性算子,若赋予适当的范数,它还是酉算子; 2. 傅立叶变换的逆变换容易求出,而且形式与正变换非常类似; 3. 正弦基函数是微分运算的本征函数,从而使得线性微分方程的求解可以转化为常系数的代数方程的求解.在线性时不变的物理系统内,频率是个不变的性质,从而系统对于复杂激励的响应可以通过组合其对不同频率正弦信号的响应来获取; 4. 著名的卷积定理指出:傅立叶变换可以化复杂的卷积运算为简单的乘积运算,从而提供了计算卷积的一种简单手段; 5. 离散形式的傅立叶变换可以利用数字计算机快速的算出(其算法称为快速傅立叶变换算法(FFT)). 正是由于上述的良好性质,傅里叶变换在物理学、数论、组合数学、信号处理、概率、统计、密码学、声学、光学等领域都有着广泛的应用。 有関傅立叶变换的FPGA实现 傅立叶变换是数字信号处理中的基本操作,广泛应用于表述及分析离散时域信号领域。但由于其运算量与变换点数N的平方成正比关系,因此,在N较大时,直接应用DFT算法进行谱变换是不切合实际的。然而,快速傅立叶变换技术的出现使情况发生了根本性的变化。本文主要描述了采用FPGA来实现2k/4k/8k点FFT的设计方法。整体结构 一般情况下,N点的傅立叶变换对为: 其中,WN=exp(-2pi/N)。X(k)和x(n)都为复数。与之相对的快速傅立叶变换有很多种,如DIT(时域抽取法)、DIF(频域抽取法)、Cooley-Tukey和Winograd等。对于2n傅立叶变换,Cooley-Tukey算法可导出DIT和DIF算法。本文运用的基本思想是Cooley-Tukey算法,即将高点数的傅立叶变换通过多重低点数傅立叶变换来实现。虽然DIT与DIF有差别,但由于它们在本质上都是一种基于标号分解的算法,故在运算量和算法复杂性等方面完全一样,而没有性能上的优劣之分,所以可以根据需要任取其中一种,本文主要以DIT方法为对象来讨论。 N=8192点DFT的运算表达式为: 式中,m=(4n1+n2)(2048k1+k2)(n=4n1+n2,k=2048k1+k2)其中n1和k2可取0,1,...,2047,k1和n2可取0,1,2,3。 由式(3)可知,8k傅立叶变换可由4×2k的傅立叶变换构成。同理,4k傅立叶变换可由2×2k的傅立叶变换构成。而2k傅立叶变换可由128×16的傅立叶变换构成。128的傅立叶变换可进一步由16×8的傅立叶变换构成,归根结底,整个傅立叶变换可由基2、基4的傅立叶变换构成。2k的FFT可以通过5个基4和1个基2变换来实现;4k的FFT变换可通过6个基4变换来实现;8k的FFT可以通过6个基4和1个基2变换来实现。也就是说:FFT的基本结构可由基2/4模块、复数乘法器、存储单元和存储器控制模块构成,其整体结构如图1所示。 图1中,RAM用来存储输入数据、运算过程中的中间结果以及运算完成后的数据,ROM用来存储旋转因子表。蝶形运算单元即为基2/4模块,控制模块可用于产生控制时序及地址信号,以控制中间运算过程及最后输出结果。蝶形运算器的实现 基4和基2的信号流如图2所示。图中,若A=r0+j*i0,B=r1+j*i1,C=r2+j*i2,D=r3+j*i3是要进行变换的信号,Wk0=c0+j*s0=1,Wk1=c1+j*s1,Wk2=c2+j*s2,Wk3=c3+j*s3为旋转因子,将其分别代入图2中的基4蝶形运算单元,则有: A′=[r0+(r1×c1-i1×s1)+(r2×c2-i2×s2)+(r3×c3-i3×s3)]+j[i0+(i1×c1+r1×s1)+(i2×c2+r2×s2)+(i3×c3+r3×s3)]? (4) B′=[r0+(i1×c1+r1×s1)-(r2×c2-i2×s2)-(i3×c3+r3×s3)]+j[i0-(r1×c1-i1×s1)-(i2×c2+r2×s2)+(r3×c3-i3×s3)] (5) C′=[r0-(r1×c1-i1×s1)+(r2×c2-i2×s2)-(r3×c3-i3×s3)]+j[i0-(i1×c1+r1×s1)+(i2×c2+r2×s2)-(i3×c3+r3×s3)] (6) D′=[r0-(i1×c1+r1×s1)-(r2×c2-i2×s2)+(i3×c3+r3×s3)]+j[i0+(r1×c1-i1×s1)-(i2×c2+r2×s2)-(r3×c3-i3×s3)]? (7) 而在基2蝶形中,Wk0和Wk2的值均为1,这样,将A,B,C和D的表达式代入图2中的基2运算的四个等式中,则有: A′=r0+(r1×c1-i1×s1)+j[i0+(i1×c1+r1×s1)]? (8) B′=r0- (r1×c1-i1×s1)+j[i0-(i1×c1+r1×s1)] (9) C′=r2+(r3×c3-i3×s3)+j[i0+(i3×c3+r3×s3)]? (10) D′=r2-(r3×c3-i3×s3)+j[i0-(i3×c3+r3×s3)]? (11) 在上述式(4)~(11)中有很多类同项,如i1×c1+r1×s1和r1×c1-i1×s1等,它们仅仅是加减号的不同,其结构和运算均类似,这就为简化电路提供了可能。同时,在蝶形运算中,复数乘法可以由实数乘法以一定的格式来表示,这也为设计复数乘法器提供了一种实现的途径。 以基4为例,在其运算单元中,实际上只需做三个复数乘法运算,即只须计算BWk1、CWk2和DWk3的值即可,这样在一个基4蝶形单元里面,最多只需要3个复数乘法器就可以了。在实际过程中,在不提高时钟频率下,只要将时序控制好?便可利用流水线(Pipeline)技术并只用一个复数乘法器就可完成这三个复数乘法,大大节省了硬件资源。 图2 基2和基4蝶形算法的信号流图FFT的地址 FFT变换后输出的结果通常为一特定的倒序,因此,几级变换后对地址的控制必须准确无误。 倒序的规律是和分解的方式密切相关的,以基8为例,其基本倒序规则如下: 基8可以用2×2×2三级基2变换来表示,则其输入顺序则可用二进制序列(n1 n2 n3)来表示,变换结束后,其顺序将变为(n3 n2 n1),如:X?011 → x?110 ,即输入顺序为3,输出时顺序变为6。 更进一步,对于基16的变换,可由2×2×2×2,4×4,4×2×2等形式来构成,相对于不同的分解形式,往往会有不同的倒序方式。以4×4为例,其输入顺序可以用二进制序列(n1 n2 n3n4)来表示变换结束后,其顺序可变为((n3 n4)(n1 n2)),如: X?0111 → x?1101 。即输入顺序为7,输出时顺序变为13。 在2k/4k/8k的傅立叶变换中,由于要经过多次的基4和基2运算,因此,从每次运算完成后到进入下一次运算前,应对运算的结果进行倒序,以保证运算的正确性。旋转因子 N点傅立叶变换的旋转因子有着明显的周期性和对称性。其周期性表现为: FFT之所以可使运算效率得到提高,就是利用 FFT之所以可使运算效率得到提高,就是利用了对称性和周期性把长序列的DFT逐级分解成几个序列的DFT,并最终以短点数变换来实现长点数变换。 根据旋转因子的对称性和周期性,在利用ROM存储旋转因子时,可以只存储旋转因子表的一部分,而在读出时增加读出地址及符号的控制,这样可以正确实现FFT。因此,充分利用旋转因子的性质,可节省70%以上存储单元。 实际上,由于旋转因子可分解为正、余弦函数的组合,故ROM中存的值为正、余弦函数值的组合。对2k/4k/8k的傅立叶变换来说,只是对一个周期进行不同的分割。由于8k变换的旋转因子包括了2k/4k的所有因子,因此,实现时只要对读ROM的地址进行控制,即可实现2k/4k/8k变换的通用。存储器的控制 因FFT是为时序电路而设计的,因此,控制信号要包括时序的控制信号及存储器的读写地址,并产生各种辅助的指示信号。同时在计算模块的内部,为保证高速,所有的乘法器都须始终保持较高的利用率。这意味着在每一个时钟来临时都要向这些单元输入新的操作数,而这一切都需要控制信号的紧密配合。 为了实现FFT的流形运算,在运算的同时,存储器也要接收数据。这可以采用乒乓RAM的方法来完成。这种方式决定了实现FFT运算的最大时间。对于4k操作,其接收时间为4096个数据周期,这样?FFT的最大运算时间就是4096个数据周期。另外,由于输入数据是以一定的时钟为周期依次输入的,故在进行内部运算时,可以用较高的内部时钟进行运算,然后再存入RAM依次输出。 为节省资源,可对存储数据RAM采用原址读出原址写入的方法,即在进行下一级变换的同时,首先应将结果回写到读出数据的RAM存贮器中;而对于ROM,则应采用与运算的数据相对应的方法来读出存储器中旋转因子的值。 在2k/4k/8k傅立叶变换中,要实现通用性,控制器是最主要的模块。2k、4k、8k变换具有不同的内部运算时间和存储器地址,在设计中,针对不同的点数应设计不同的存储器存取地址,同时,在完成变换后,还要对开始输出有用信号的时刻进行指示。硬件的选择 本设计的硬件实现选用的是现场可编程门阵列(FPGA)来满足较高速度的需要。本系统在设计时选用的是ALTERA公司的STRATIX芯片,该芯片中包含有DSP单元,可以完成较为耗费资源的乘法器单元。同时,该器件也包含有大量存储单元,从而可保证旋转因子的精度。 除了一些专用引脚外,FPGA上几乎所有的引脚均可供用户使用,这使得FPGA信号处理方案具有非常好的I/O带宽。大量的I/O引脚和多块存储器可使设计获得优越的并行处理性能。其独立的存储块可作为输入/工作存储区和结果的缓存区,这使得I/O可与FFT计算同时进行。在实现的时间方面,该设计能在4096个时钟周期内完成一个4096点的FFT。若采用10MHz的输入时钟,其变换时间在200μs左右。而由于最新的FPGA使用了MultiTrack互连技术,故可在250MHz以下频率稳定地工作,同时,FFT的实现时间也可以大大缩小。 FFT运算结果的精度与输入数据的位数及运算过程中的位数有关,同时和数据的表示形式也有很大关系。一般来说,浮点方式比定点方式精度高。而在定点计算中,存储器数据的位数越大,运算精度越高,使用的存储单元和逻辑单元也越多。在实际应用中,应根据实际情况折衷选择精度和资源。本设计通过MATLAB进行仿真证明:其实现的变换结果与MATLAB工具箱中的FFT函数相比,信噪比可以达到65db以上,完全可以满足一般工程的实际应用要求
2023-07-10 20:42:203

急!!求x(2n+1)的傅里叶变换。

如果题目是求x(2t+1)的FT,答案为:(1/2)exp[(1/2)jw]X(w/2)傅里叶变换是针对于连续时间信号的。x(2n+1)是一个离散信号应该求的是z变换,题目如果是已知x(n)的Z变换是X(Z)求x(2n+1)的z变换。但是离散信号压缩或拉伸没什么意思,容易导致信号丢失,所以这个题目不对。
2023-07-10 20:42:305

卷积怎么计算

问题一:二维卷积如何运算? A=[100,100,100 100,100,100 100,100,100] B=[1/9,1/9,1/9 1/9,1/9,1/9 1/9,1/9,1/9] c=conv2(A,B) 问题二:两个函数的卷积怎么算 你好。 只要使用conv函数就可以了。 例子: u=ones(1,100); v=2*u; w = conv(u,v); plot(w); 问题三:什么是卷积?要怎么求两个函数的卷积? 15分 简介 褶积(又名卷积)和反褶积(又名去卷积)是一种积分变换的数学方法,在许多方面得到了广泛应用。用褶积解决试井解释中的问题,早就取得了很好成果;而反褶积,直到最近,Schroeter、Hollaender和Gringarten等人解决了其计算方法上的稳定性问题,使反褶积方法很快引起了试井界的广泛注意。有专家认为,反褶积的应用是试井解释方法发展史上的又一次重大飞跃。他们预言,随着测试新工具和新技术的增加和应用,以及与其它专业研究成果的更紧密结合,试井在油气藏描述中的作用和重要性必将不断增大[1] 。 2基本内涵 简单定义:卷积是分析数学中一种重要的运算。 设:f(x),g(x)是R1上的两个可积函数,作积分: 可以证明,关于几乎所有的实数x,上述积分是存在的。这样,随着x的不同取值,这个积分就定义了一个新函数h(x),称为函数f与g的卷积,记为h(x)=(f*g)(x)。 容易验证,(f * g)(x) = (g * f)(x),并且(f * g)(x)仍为可积函数。这就是说,把卷积代替乘法,L1(R1)空间是一个代数,甚至是巴拿赫代数。 卷积与傅里叶变换有着密切的关系。利用一点性质,即两函数的傅里叶变换的乘积等于它们卷积后的傅里叶变换,能使傅里叶分析中许多问题的处理得到简化。 由卷积得到的函数f*g一般要比f和g都光滑。特别当g为具有紧致集的光滑函数,f为局部可积时,它们的卷积f * g也是光滑函数。利用这一性质,对于任意的可积函数f,都可以简单地构造出一列逼近于f的光滑函数列fs,这种方法称为函数的光滑化或正则化。 卷积的概念还可以推广到数列、测度以及广义函数上去。 3定义 卷积是两个变量在某范围内相乘后求和的结果。如果卷积的变量是序列x(n)和h(n),则卷积的结果 , 其中星号*表示卷积。当时序n=0时,序列h(-i)是h(i)的时序i取反的结果;时序取反使得h(i)以纵轴为中心翻转180度,所以这种相乘后求和的计算法称为卷积和,简称卷积。另外,n是使h(-i)位移的量,不同的n对应不同的卷积结果。 如果卷积的变量是函数x(t)和h(t),则卷积的计算变为 , 其中p是积分变量,积分也是求和,t是使函数h(-p)位移的量,星号*表示卷积。 参考《数字信号处理》杨毅明著,p.55、p.188、p.264,机械工业出版社2012年发行。 4性质 各 perfect spaces卷积混响 种卷积算子都满足下列性质: 交换律 结合律 分配律 数乘结合律 其中a为任意实数(或复数)。 微分定理 其中Df表示f的微分,如果在离散域中则是指差分算子,包括前向差分与后向差分两种。 5卷积定理 卷积定理指出,函数卷积的傅里叶变换是函数傅里叶变换的乘积。即,一个域中的卷积相当于另一个域中的乘积,例如时域中的卷积就对应于频域中的乘积。 F(g(x)*f(x)) = F(g(x))F(f(x)) 其中F表示的是傅里叶变换。 这一定理对拉普拉斯变换、双边拉普拉斯变换、Z变换、Mellin变换和Hartley变换(参见Mellin inversion theorem)等各种傅里叶变换的变体同样成立。在调和分析中还可以推广到在局部紧致的阿贝尔群上定义的傅里叶变换。 利用卷积定理可以简化卷积的运算量。对于长度为n的序列,按照卷积的定义进行计算,需要做2n- 1组对位乘法,其计算复杂度为;而利用傅里叶变换将序列变换到频域上后,只需要一组对位乘法,利用傅里叶变换的快速算法之后,总的计算复杂度为。这一结果可以在快速乘法计算中得到应用。 6群上卷积 卷积与相关分析......>> 问题四:信号与系统,这个卷积按定义怎么算?求详细过程,谢谢。 卷积计算方法如上。 你的题里面 f1(tau)=e^(-2tau) (tau>0), =0 (tau0) =0 (tau 问题五:请问u(t)*u(t-1)卷积怎么算??? u(t)*u(t-1)=u(t)*u(t)*δ(t-1) =tu(t)*δ(t-1) =(t-1)u(t-1) 问题六:遥感图像卷积计算怎么搞? 通过对信号与线性系统中离散卷积及其运算方法的分析,研究序列形式的离散信号的卷积运算过程,在图解法基础上提出了较为简便的运算方法―――列表法.此列表法与图解法所得结果完全相同,却使运算过程大为简化 问题七:怎样理解卷积积分 对于非数学系学生来说,只要懂怎么用卷积就可以了,研究什么是卷积其实意义不大,它就是一种微元相乘累加的极限形式。卷积本身不过就是一种数学运算而已。就跟“蝶形运算”一样,怎么证明,这是数学系的人的工作。 在信号与系统里,f(t)的零状态响应y(t)可用f(t)与其单位冲激响应h(t)的卷积积分求解得,即y(t)=f(t)*h(t)。学过信号与系统的都应该知道,时域的卷积等于频域的乘积,即有Y(s)=F(s)×H(s)。(s=jw,拉氏变换后等到的函数其实就是信号的频域表达式) 有一点你必须明白,在通信系统里,我们关心的以及要研究的是信号的频域,不是时域,原因是因为信号的频率是携带有信息的量。 所以,我们需要的是Y(s)这个表达式,但是实际上,我们往往不能很容易的得到F(s)和H(s)这两个表达式,但是能直接的很容易的得到f(t)和h(t),所以为了找到Y(s)和y(t)的对应关系,就要用到卷积运算。 复频域。 s=jw,当中的j是复数单位,所以使用的是复频域。通俗的解释方法是,因为系统中有电感X=jwL、电容X=1/jwC,物理意义是,系统H(s)对不同的频率分量有不同的衰减,即这种衰减是发生在频域的,所以为了与时域区别,引入复数的运算。但是在复频域计算的形式仍然满足欧姆定理、KCL、KVL、叠加法。 负的频率。 之所以会出现负的频率,这只是数学运算的结果,只存在于数学运算中,实际中不会有负的频率。
2023-07-10 20:42:561

Matlab 对函数中的系数作傅里叶变换 求助

看一下积分变换吧。
2023-07-10 20:43:075

想用C语言实现一个1024点的FFT,找到的基2-FFT的程序能实现128以内的FFT,运行结果和matlab的fft()是一样的

我也写了个fft程序,256点时计算还正确,但是512和1024点结果就错了,希望楼主答案的话能告知,
2023-07-10 20:43:241

什么是FFT算法?DSP是什么?

FFT是快速傅里叶变换( Fast Fourier Transform )DSP是数字信号处理 ( Digital Signal Processing )
2023-07-10 20:43:311

数字信号处理 判断题

1.正确 2错误 3错误
2023-07-10 20:43:371

8点ditfft蝶形图的对应关系

8点ditfft蝶形图的对应关系是:1. 原位运算 在DIT-FFT的蝶形图中,取第m级且两输入节点分别在第k、j行的蝶形为例,讨论DIT-FFT的原位运算规律。2. . 倒序规律 从图3.5可以看出,按原位计算时,蝶形图的输出正好是自然顺序X(0),X(1),...,X(7),
2023-07-10 20:43:501

DSP芯片和DSP技术的问题

你说的是其中的一部分知识,是DSP处理的信息的原理。要向学习DSP的硬件开发,还要学习微机原理,由单片机系统的设计经验最好。还有就是DSP的开发环境,也就是CCS,要掌握常用的编程语言,有汇编语言和C语言的编程经验最好.首先要了解DSP的特点。数字信号处理相对于模拟信号处理有很大的优越性,表现在精度高、灵活性大、可靠性好、易于大规模集成等方面。随着人们对实时信号处理要求的不断提高和大规模集成电路技术的迅速发展,数字信号处理技术也发生着日新月异的变革。实时数字信号处理技术的核心和标志是数字信号处理器。自第一个微处理器问世以来,微处理器技术水平得到了十分迅速的提高,而快速傅立叶交换等实用算法的提出促进了专门实现数字信号处理的一类微处理器的分化和发展。数字信号处理有别于普通的科学计算与分析,它强调运算处理的实时性,因此DSP除了具备普通微处理器所强调的高速运算和控制功能外,针对实时数字信号处理,在处理器结构、指令系统、指令流程上具有许多新的特征,其特点如下:(1) 算术单元具有硬件乘法器和多功能运算单元,硬件乘法器可以在单个指令周期内完成乘法操作,这是DSP区别于通用的微处理器的一个重要标志。多功能运算单元可以完成加减、逻辑、移位、数据传送等操作。新一代的DSP内部甚至还包含多个并行的运算单元。以提高其处理能力。针对滤波、相关、矩阵运算等需要大量乘和累加运算的特点,DSP的算术单元的乘法器和加法器,可以在一个时钟周期内完成相乘、累加两个运算。近年出现的某些DSP如ADSP2106X、DSP96000系列DSP可以同时进行乘、加、减运算,大大加快了FFT的蝶形运算速度。(2) 总线结构传统的通用处理器采用统一的程序和数据空间、共享的程序和数据总线结构,即所谓的冯u2022诺依曼结构。DSP普遍采用了数据总线和程序总线分离的哈佛结构或者改进的哈佛结构,极大的提高了指令执行速度。片内的多套总线可以同时进行取指令和多个数据存取操作,许多DSP片内嵌有DMA控制器,配合片内多总线结构,使数据块传送速度大大提高。 如TI公司的C6000系列的DSP采用改进的哈佛结构,内部有一套256位宽度的程序总线、两套32位的数据总线和一套32位的DMA总线。ADI公司的SHARC系列DSP采用超级哈佛结构(Super Harvared Architecture Computer),内部集成了三套总线,即程序存储器总线、数据存储器总线和输入输出总线。(3) 专用寻址单元DSP面向数据密集型应用,伴随着频繁的数据访问,数据地址的计算也需要大量时间。DSP内部配置了专用的寻址单元,用于地址的修改和更新,它们可以在寻址访问前或访问后自动修改内容,以指向下一个要访问的地址。地址的修改和更新与算术单元并行工作,不需要额外的时间。DSP的地址产生器支持直接寻址、间接寻址操作,大部分DSP还支持位反转寻址(用于FFT算法)和循环寻址(用于数字滤波算法)。(4) 片内存储器针对数字信号处理的数据密集运算的需要,DSP对程序和数据访问的时间要求很高,为了减小指令和数据的传送时间,许多DSP内部集成了高速程序存储器和数据存储器,以提高程序和数据的访问存储器的速度。如TI公司的C6000系列的DSP内部集成有1M~7M位的程序和数据RAM;ADI公司的SHARC系列DSP内部集成有0.5M~2M位的程序和数据RAM,Tiger SHARC系列DSP内部集成有6M位的程序和数据RAM。(5) 流水处理技术 DSP大多采用流水技术,即将一条指令的执行过程分解成取指、译码、取数、执行等若干个阶段,每个阶段称为一级流水。每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等操作,从而在不提高时钟频率的条件下减少了每条指令的执行时间。 (6) DSP与其它处理器的差别数字信号处理器(DSP)、通用微处理器(MPU)、微控制器(MCU)三者的区别在于:DSP面向高性能、 重复性、数值运算密集型的实时处理;MPU大量应用于计算机;MCU则适用于以控制为主的处理过程。DSP的运算速度比其它处理器要高得多,以FFT、相关为例,高性能DSP不仅处理速度是MPU的 4~10倍,而且可以连续不断地完成数据的实时输入/输出。DSP结构相对单一,普遍采用汇编语言编程,其任务完成时间的可预测性相对于结构和指令复杂(超标量指令)、严重依赖于编译系统的MPU强得多。以一个FIR滤波器实现为例,每输入一个数据,对应每阶滤波器系数需要一次乘、一次加、一次取指、二次取数,还需要专门的数据移动操作,DSP可以单周期完成乘加并行操作以及3~4次数据存取操作,而普通MPU完成同样的操作至少需要4个指令周期。因此,在相同的指令周期和片内指令缓存条件下,DSP的运算送到可以超过MPU运算速度的4倍以上。正是基于 DSP的这些优势,在新推出的高性能通用微处理器(如Pentium、Power PC 604e等)片内已经融入了 DSP的功能,而以这种通用微处理器构成的计算机在网络通信、语音图像处理、实时数据分析等方面的效率大大提高。
2023-07-10 20:44:004

画出4点按时间抽取的基2FFT的蝶形图

基2FFT的蝶形图对信号进行分析和处理时最常用的工具之一。在200多年前法国数学家、物理学家傅里叶提出后来以他名字命名的傅里叶级数之后,用DFT这个工具来分析信号就已经为人们所知。历史上最伟大的数学家之一。它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。它对傅氏变换的理论并没有新的发现,但是对于在计算机系统或者说数字系统中应用离散傅立叶变换,可以说是进了一大步。扩展资料:FFT的基本思想是把原始的N点序列,依次分解成一系列的短序列。充分利用DFT计算式中指数因子 所具有的对称性质和周期性质,进而求出这些短序列相应的DFT并进行适当组合,达到删除重复计算,减少乘法运算和简化结构的目的。此后,在这思想基础上又开发了高基和分裂基等快速算法,随着数字技术的高速发展,1976年出现建立在数论和多项式理论基础上的维诺格勒傅里叶变换算法(WFTA)和素因子傅里叶变换算法。它们的共同特点是,当N是素数时,可以将DFT算转化为求循环卷积,从而更进一步减少乘法次数,提高速度。
2023-07-10 20:44:221

FFT原理的FFT基本原理

FFT是一种DFT的高效算法,称为快速傅立叶变换(fast Fourier transform)。FFT算法可分为按时间抽取算法和按频率抽取算法,先简要介绍FFT的基本原理。从DFT运算开始,说明FFT的基本原理。DFT的运算为:式中由这种方法计算DFT对于X(K)的每个K值,需要进行4N次实数相乘和(4N-2)次相加,对于N个k值,共需N*N乘和N(4N-2)次实数相加。改进DFT算法,减小它的运算量,利用DFT中的周期性和对称性,使整个DFT的计算变成一系列迭代运算,可大幅度提高运算过程和运算量,这就是FFT的基本思想。FFT基本上可分为两类,时间抽取法和频率抽取法,而一般的时间抽取法和频率抽取法只能处理长度N=2^M的情况,另外还有组合数基四FFT来处理一般长度的FFT 设N点序列x(n),,将x(n)按奇偶分组,公式如下图改写为:一个N点DFT分解为两个 N/2点的DFT,继续分解,迭代下去,其运算量约为其算法有如下规律两个4点组成的8点DFT四个2点组成的8点DFT按时间抽取的8点DFT原位计算当数据输入到存储器中以后,每一级运算的结果仍然储存在同一组存储器中,直到最后输出,中间无需其它存储器序数重排对按时间抽取FFT的原位运算结构,当运算完毕时,这种结构存储单元A(1)、A(2),…,A(8)中正好顺序存放着X(0),X(1),X(2),…,X(7),因此可直接按顺序输出,但这种原位运算的输入x(n)却不能按这种自然顺序存入存储单元中,而是按X(0),X(4),X(2),X(6),…,X(7)的顺序存入存储单元,这种顺序看起来相当杂乱,然而它也是有规律的。当用二进制表示这个顺序时,它正好是“码位倒置”的顺序。蝶形类型随迭代次数成倍增加每次迭代的蝶形类型比上一次蝶代增加一倍,数据点间隔也增大一倍 频率抽取2FFT算法是按频率进行抽取的算法。设N=2^M,将x(n)按前后两部分进行分解,按K的奇偶分为两组,即得到两个N/2 点的DFT运算。如此分解,并迭代,总的计算量和时间抽取(DIT)基2FFT算法相同。算法规律如下:蝶形结构和时间抽取不一样但是蝶形个数一样,同样具有原位计算规律,其迭代次数成倍减小 时,可采取补零使其成为,或者先分解为两个p,q的序列,其中p*q=N,然后进行计算。 前面介绍,采用FFT算法可以很快算出全部N点DFT值,即z变换X(z)在z平面单位圆上的全部等间隔取样值。实际中也许①不需要计算整个单位圆上z变换的取样,如对于窄带信号,只需要对信号所在的一段频带进行分析,这时希望频谱的采样集中在这一频带内,以获得较高的分辨率,而频带以外的部分可不考虑,②或者对其它围线上的z变换取样感兴趣,例如语音信号处理中,需要知道z变换的极点所在频率,如极点位置离单位圆较远,则其单位圆上的频谱就很平滑,这时很难从中识别出极点所在的频率,如果采样不是沿单位圆而是沿一条接近这些极点的弧线进行,则在极点所在频率上的频谱将出现明显的尖峰,由此可较准确地测定极点频率。③或者要求能有效地计算当N是素数时序列的DFT,因此提高DFT计算的灵活性非常有意义。螺旋线采样是一种适合于这种需要的变换,且可以采用FFT来快速计算,这种变换也称作Chirp-z变换。
2023-07-10 20:45:031

一个关于128点的快速傅立叶的C语言程序

这是我写的1024点的快速傅里叶变换程序,下面有验证,你把数组doubleA[2049]={0};doubleB[1100]={0};doublepowerA[1025]={0};改成A[256]={0};B[130]={0};power[129]={0};就行了,voidFFT(doubledata[],intnn,intisign)的程序可以针对任何点数,只要是2的n次方具体程序如下:#include<iostream.h>#include"math.h"#include<stdio.h>#include<string.h>#include<stdlib.h>#include<fstream.h>#include<afx.h>voidFFT(doubledata[],intnn,intisign){//复数的快速傅里叶变换intn,j,i,m,mmax,istep;doubletempr,tempi,theta,wpr,wpi,wr,wi,wtemp;n=2*nn;j=1;for(i=1;i<=n;i=i+2)//这个循环进行的是码位倒置。{if(j>i){tempr=data[j];tempi=data[j+1];data[j]=data[i];data[j+1]=data[i+1];data[i]=tempr;data[i+1]=tempi;}m=n/2;while(m>=2&&j>m){j=j-m;m=m/2;}j=j+m;}mmax=2;while(n>mmax){istep=2*mmax;//这里表示一次的数字的变化。也体现了级数,若第一级时,也就是书是的第0级,其为两个虚数,所以对应数组应该增加4,这样就可以进入下一组运算theta=-6.28318530717959/(isign*mmax);wpr=-2.0*sin(0.5*theta)*sin(0.5*theta);wpi=sin(theta);wr=1.0;wi=0.0;for(m=1;m<=mmax;m=m+2){for(i=m;i<=n;i=i+istep){j=i+mmax;tempr=double(wr)*data[j]-double(wi)*data[j+1];//这两句表示蝶形因子的下一个数乘以W因子所得的实部和虚部。tempi=double(wr)*data[j+1]+double(wi)*data[j];data[j]=data[i]-tempr;//蝶形单元计算后下面单元的实部,下面为虚部,注意其变换之后的数组序号与书上蝶形单元是一致的data[j+1]=data[i+1]-tempi;data[i]=data[i]+tempr;data[i+1]=data[i+1]+tempi;}wtemp=wr;wr=wr*wpr-wi*wpi+wr;wi=wi*wpr+wtemp*wpi+wi;}mmax=istep;}}voidmain(){//本程序已经和MATLAB运算结果对比,准确无误,需要注意的的是,计算中数组都是从1开始取得,丢弃了A[0]等数据doubleA[2049]={0};doubleB[1100]={0};doublepowerA[1025]={0};charline[50];chardataA[20],dataB[20];intij;charch1[3]=" ";charch2[3]=" ";intstrl1,strl2;CStringstr1,str2;ij=1;//********************************读入文件data1024.txt中的数据,其中的数据格式见该文件FILE*fp=fopen("data1024.txt","r");if(!fp){cout<<"Openfileisfailing!"<<endl;return;}while(!feof(fp))//feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为1,否则为0。{memset(line,0,50);//清空为0memset(dataA,0,20);memset(dataB,0,20);fgets(line,50,fp);//函数的功能是从fp所指文件中读入n-1个字符放入line为起始地址的空间内sscanf(line,"%s%s",dataA,dataB);//我同时读入了两列值,但你要求1024个,那么我就只用了第一列的1024个值//dataA读入第一列,dataB读入第二列B[ij]=atof(dataA);//将字符型的dataA值转化为float型ij++;}for(intmm=1;mm<1025;mm++)//A[2*mm-1]是实部,A[2*mm]是虚部,当只要输入实数时,那么保证虚部A[mm*2]为零即可{A[2*mm-1]=B[mm];A[2*mm]=0;}//*******************************************正式计算FFTFFT(A,1024,1);//********************************************写入数据到workout.txt文件中for(intk=1;k<2049;k=k+2){powerA[(k+1)/2]=sqrt(pow(A[k],2.0)+pow(A[k+1],2.0));//求功率谱FILE*pFile=fopen("workout.txt","a+");//?a+只能在文件最后补充,光标在结尾。没有则创建memset(ch1,0,15);str1.Format("%.4f",powerA[(k+1)/2]);if(A[k+1]>=0)str2.Format("%d %6.4f%s%6.4f%s",(k+1)/2,A[k],"+",A[k+1],"i");//保存fft计算的频谱,是复数频谱elsestr2.Format("%d %6.4f%6.4f%s",(k+1)/2,A[k],A[k+1],"i");strl1=strlen(str1);strl2=strlen(str2);//用法:fwrite(buffer,size,count,fp);//buffer:是一个指针,对fwrite来说,是要输出数据的地址。//size:要写入的字节数;//count:要进行写入size字节的数据项的个数;//fp:目标文件指针。fwrite(str2,1,strl2,pFile);fwrite(ch1,1,3,pFile);fwrite(ch1,1,3,pFile);fwrite(str1,1,strl1,pFile);fwrite(ch2,1,3,pFile);fclose(pFile);}cout<<"计算完毕,到fft_testworkout.txt查看结果"<<endl;}
2023-07-10 20:45:162

化油器与电喷的区别

动力方面,电喷比化油器更大一些。电喷最主要的作用就是控制空燃比和油气混合,使得燃烧更充分,释放出更大的功率。电喷喷油量精确省油,雾化好燃烧好动力强排放好,适应性好,海拔升高自动降低喷油量点火时间。而化油器排放无法支持最新标准,费油,冬天启动困难,操作不当有几率淹火花塞,无法根据需求调整喷油浓度,雾化效果差燃烧容易不充分。扩展资料:简单的化油器由上中下三部分组成,上部分有进气口和浮子室,中间部分有喉管、量孔和喷管,下部分有节气门等。浮子室是一个矩形容器,存储着来自汽油泵的汽油,容器里面有一只浮子利用浮面(油面)高度控制着进油量。中部的喷管一头进油口与浮子室的量孔相通,另一头出油口在喉管的咽喉处。喉管呈蜂腰状,两头大中间小,其中间咽喉处的截面积最小。当发动机启动时活塞下行产生吸力,吸入的气流经过咽喉处时速度最大,静压力却最低,故喉管压力小于大气压力,也就是说喉管咽喉处与浮子室之间产生了压力差,即有了人们常说的"真空度",压力差愈大真空度愈大。汽油在真空度的作用下从喷管出油口喷出,因为喉管咽喉处的空气流速是汽油流速的25倍,因此喷管喷出的油流即被高速的空气流冲散,形成大小不等的雾状颗粒,即“雾化”。初步雾化的油粒与空气混合成“混合气”,经节气门、进气管道(4)和进气门(5)进入气缸的燃烧室。在这里,节气门的开度大小和发动机的转速决定了喉管处的真空度,而节气门的开度变化直接影响着混合气的比例成份,这些都是影响发动机运行的重要原因。参考资料:化油器-百度百科
2023-07-10 20:45:2514

谁知道DFT和FFT的发展历史啊

  DFT/FFT的发展历史  离散傅里叶变换(Discrete Fourier Transform,DFT)是数字信号处理最重要的基石之一,也是对信号进行分析和处理时最常用的工具之一。在200多年前法国数学家、物理学家傅里叶提出后来以他名字命名的傅里叶级数之后,用DFT这个工具来分析信号就已经为人们所知。历史上最伟大的数学家之一。  欧拉是第一个使用“函数”一词来描述包含各种参数的表达式的人,例如:y = f(x)。他是把微积分应用于物理学的先驱者之一。 给出了一个用实变量函数表示傅立叶级数系数的方程; 用三角级数来描述离散声音在弹性媒介中传播,发现某些函数可以通过余弦函数之和来表达。 但在很长时间内,这种分析方法并没有引起更多的重视,最主要的原因在于这种方法运算量比较大。直到1965年,Cooley和Tukey在《计算机科学 》发表著名的《机器计算傅立叶级数的一种算法》论文,FFT才开始大规模应用。  那个年代,有个肯尼迪总统科学咨询委员会。其中有项研究主题是,对苏联核测试进行检测,Tukey就是其中一员。美国/苏联核测试提案的批准,主要取决于不实地访问核测试设施而做出检测的方法的发展。其中一个想法是,分析离海岸的地震计情况,这种计算需要快速算法来计算DFT。其它应用是国家安全,如用声学探测远距离的核潜艇。所以在军事上,迫切需要一种快速的傅立叶变换算法,这也促进了FFT的正式提出。  FFT的这种方法充分利用了DFT运算中的对称性和周期性,从而将DFT运算量从N2减少到N*log2N。当N比较小时,FFT优势并不明显。但当N大于32开始,点数越大,FFT对运算量的改善越明显。比如当N为1024时,FFT的运算效率比DFT提高了100倍。在库利和图基提出的FFT算法中,其基本原理是先将一个N点时域序列的DFT分解为N个1点序列的DFT,然后将这样计算出来的N个1点序列DFT的结果进行组合,得到最初的N点时域序列的DFT值。实际上,这种基本的思想很早就由德国伟大的数学家高斯提出过,在某种情况下,天文学计算(也是现在FFT应用的领域之一)与等距观察的有限集中的行星轨道的内插值有关。由于当时计算都是靠手工,所以产生一种快速算法的迫切需要。 而且,更少的计算量同时也代表着错误的机会更少,正确性更高。高斯发现,一个富氏级数有宽度N=N1*N2,可以分成几个部分。计算N2子样本DFT的N1长度和N1子样本DFT的N2长度。只是由于当时尚欠东风——计算机还没发明。在20世纪60年代,伴随着计算机的发展和成熟,库利和图基的成果掀起了数字信号处理的革命,因而FFT发明者的桂冠才落在他们头上。  之后,桑德(G.Sand)-图基等快速算法相继出现,几经改进,很快形成了一套高效运算方法,这就是现在的快速傅立叶变换(FFT)。这种算法使DFT的运算效率提高1到2个数量级,为数字信号处理技术应用于各种信号的实时处理创造了良好的条件,大大推进了数学信号处理技术。1984年,法国的杜哈梅(P.Dohamel)和霍尔曼(H.Hollamann)提出的分裂基块快速算法,使运算效率进一步提高。  库利和图基的FFT算法的最基本运算为蝶形运算,每个蝶形运算包括两个输入点,因而也称为基-2算法。在这之后,又有一些新的算法,进一步提高了FFT的运算效率,比如基-4算法,分裂基算法等。这些新算法对FFT运算效率的提高一般在50%以内,远远不如FFT对DFT运算的提高幅度。从这个意义上说,FFT算法是里程碑式的。可以说,正是计算机技术的发展和FFT的出现,才使得数字信号处理迎来了一个崭新的时代。除了运算效率的大幅度提高外,FFT还大大降低了DFT运算带来的累计量化误差,这点常为人们所忽略。  分给我吧 哈哈
2023-07-10 20:46:1710

matlab程序画图

stem(n,x); 这句的错误,n和x的维度不一样,你一步步的运行试试 看看那儿出问题了(注意维度)
2023-07-10 20:46:421

分别求f(t)=t和f(t)=1/t的 傅里叶变换

f(t)=t不满足绝对可积,不符合傅里叶变换的存在条件 所以不存在傅里叶变换1/t傅里叶变换为 -i*3.14*sgn(w)
2023-07-10 20:46:572

《数字信号处理》中的DIT-FFT蝶形运算流图有谁看明白了?

按照图里的方法,把数带进去就能算了。
2023-07-10 20:47:051

简要叙述基2 DIT-FFT与基2 DIF-FFT快速算法运算流图的主要异同点。

DIT先乘以旋转因子后蝶形运算DIF先蝶形运算后乘以旋转因子
2023-07-10 20:47:331

抽样函数的傅里叶变换怎么算?

因为频域抽样函数,反变换回来时域就是方波) 序列福利叶变换的关系是特殊的"离散傅立叶变换",也就是时域序列被认为是各种方波抽样信号的叠加,认为复数的角度只取0和∏这两种情况,于是你就看到了序列的傅立叶变换。 序列的傅立叶变换,因为频率不再有意义(因为只有两种角度),所以X(k)之间只有顺序关系(原来是频移关系),通常写为Z变换。另外,虚机团上产品团购,超级便宜
2023-07-10 20:47:442

求傅里叶变化 详细过程 谢谢 又追加悬赏

尽管最初傅立叶分析是作为热过程的解析分析的工具,但是其思想方法仍然具有典型的还原论和分析主义的特征。"任意"的函数通过一定的分解,都能够表示为正弦函数的线性组合的形式,而正弦函数在物理上是被充分研究而相对简单的函数类,这一想法跟化学上的原子论想法何其相似!奇妙的是,现代数学发现傅立叶变换具有非常好的性质,使得它如此的好用和有用,让人不得不感叹造物的神奇:   1. 傅立叶变换是线性算子,若赋予适当的范数,它还是酉算子;   2. 傅立叶变换的逆变换容易求出,而且形式与正变换非常类似;   3. 正弦基函数是微分运算的本征函数,从而使得线性微分方程的求解可以转化为常系数的代数方程的求解.在线性时不变的物理系统内,频率是个不变的性质,从而系统对于复杂激励的响应可以通过组合其对不同频率正弦信号的响应来获取;   4. 著名的卷积定理指出:傅立叶变换可以化复杂的卷积运算为简单的乘积运算,从而提供了计算卷积的一种简单手段;   5. 离散形式的傅立叶变换可以利用数字计算机快速的算出(其算法称为快速傅立叶变换算法(FFT)).   正是由于上述的良好性质,傅里叶变换在物理学、数论、组合数学、信号处理、概率、统计、密码学、声学、光学等领域都有着广泛的应用。   有関傅立叶变换的FPGA实现   傅立叶变换是数字信号处理中的基本操作,广泛应用于表述及分析离散时域信号领域。但由于其运算量与变换点数N的平方成正比关系,因此,在N较大时,直接应用DFT算法进行谱变换是不切合实际的。然而,快速傅立叶变换技术的出现使情况发生了根本性的变化。本文主要描述了采用FPGA来实现2k/4k/8k点FFT的设计方法。整体结构  一般情况下,N点的傅立叶变换对为:   其中,WN=exp(-2pi/N)。X(k)和x(n)都为复数。与之相对的快速傅立叶变换有很多种,如DIT(时域抽取法)、DIF(频域抽取法)、Cooley-Tukey和Winograd等。对于2n傅立叶变换,Cooley-Tukey算法可导出DIT和DIF算法。本文运用的基本思想是Cooley-Tukey算法,即将高点数的傅立叶变换通过多重低点数傅立叶变换来实现。虽然DIT与DIF有差别,但由于它们在本质上都是一种基于标号分解的算法,故在运算量和算法复杂性等方面完全一样,而没有性能上的优劣之分,所以可以根据需要任取其中一种,本文主要以DIT方法为对象来讨论。   N=8192点DFT的运算表达式为:   式中,m=(4n1+n2)(2048k1+k2)(n=4n1+n2,k=2048k1+k2)其中n1和k2可取0,1,...,2047,k1和n2可取0,1,2,3。   由式(3)可知,8k傅立叶变换可由4×2k的傅立叶变换构成。同理,4k傅立叶变换可由2×2k的傅立叶变换构成。而2k傅立叶变换可由128×16的傅立叶变换构成。128的傅立叶变换可进一步由16×8的傅立叶变换构成,归根结底,整个傅立叶变换可由基2、基4的傅立叶变换构成。2k的FFT可以通过5个基4和1个基2变换来实现;4k的FFT变换可通过6个基4变换来实现;8k的FFT可以通过6个基4和1个基2变换来实现。也就是说:FFT的基本结构可由基2/4模块、复数乘法器、存储单元和存储器控制模块构成,其整体结构如图1所示。   图1中,RAM用来存储输入数据、运算过程中的中间结果以及运算完成后的数据,ROM用来存储旋转因子表。蝶形运算单元即为基2/4模块,控制模块可用于产生控制时序及地址信号,以控制中间运算过程及最后输出结果。蝶形运算器的实现  基4和基2的信号流如图2所示。图中,若A=r0+j*i0,B=r1+j*i1,C=r2+j*i2,D=r3+j*i3是要进行变换的信号,Wk0=c0+j*s0=1,Wk1=c1+j*s1,Wk2=c2+j*s2,Wk3=c3+j*s3为旋转因子,将其分别代入图2中的基4蝶形运算单元,则有:   A′=[r0+(r1×c1-i1×s1)+(r2×c2-i2×s2)+(r3×c3-i3×s3)]+j[i0+(i1×c1+r1×s1)+(i2×c2+r2×s2)+(i3×c3+r3×s3)]? (4)   B′=[r0+(i1×c1+r1×s1)-(r2×c2-i2×s2)-(i3×c3+r3×s3)]+j[i0-(r1×c1-i1×s1)-(i2×c2+r2×s2)+(r3×c3-i3×s3)] (5)   C′=[r0-(r1×c1-i1×s1)+(r2×c2-i2×s2)-(r3×c3-i3×s3)]+j[i0-(i1×c1+r1×s1)+(i2×c2+r2×s2)-(i3×c3+r3×s3)] (6)   D′=[r0-(i1×c1+r1×s1)-(r2×c2-i2×s2)+(i3×c3+r3×s3)]+j[i0+(r1×c1-i1×s1)-(i2×c2+r2×s2)-(r3×c3-i3×s3)]? (7)   而在基2蝶形中,Wk0和Wk2的值均为1,这样,将A,B,C和D的表达式代入图2中的基2运算的四个等式中,则有:   A′=r0+(r1×c1-i1×s1)+j[i0+(i1×c1+r1×s1)]? (8)   B′=r0- (r1×c1-i1×s1)+j[i0-(i1×c1+r1×s1)] (9)   C′=r2+(r3×c3-i3×s3)+j[i0+(i3×c3+r3×s3)]? (10)   D′=r2-(r3×c3-i3×s3)+j[i0-(i3×c3+r3×s3)]? (11)   在上述式(4)~(11)中有很多类同项,如i1×c1+r1×s1和r1×c1-i1×s1等,它们仅仅是加减号的不同,其结构和运算均类似,这就为简化电路提供了可能。同时,在蝶形运算中,复数乘法可以由实数乘法以一定的格式来表示,这也为设计复数乘法器提供了一种实现的途径。   以基4为例,在其运算单元中,实际上只需做三个复数乘法运算,即只须计算BWk1、CWk2和DWk3的值即可,这样在一个基4蝶形单元里面,最多只需要3个复数乘法器就可以了。在实际过程中,在不提高时钟频率下,只要将时序控制好?便可利用流水线(Pipeline)技术并只用一个复数乘法器就可完成这三个复数乘法,大大节省了硬件资源。   图2 基2和基4蝶形算法的信号流图FFT的地址  FFT变换后输出的结果通常为一特定的倒序,因此,几级变换后对地址的控制必须准确无误。   倒序的规律是和分解的方式密切相关的,以基8为例,其基本倒序规则如下:   基8可以用2×2×2三级基2变换来表示,则其输入顺序则可用二进制序列(n1 n2 n3)来表示,变换结束后,其顺序将变为(n3 n2 n1),如:X?011 → x?110 ,即输入顺序为3,输出时顺序变为6。   更进一步,对于基16的变换,可由2×2×2×2,4×4,4×2×2等形式来构成,相对于不同的分解形式,往往会有不同的倒序方式。以4×4为例,其输入顺序可以用二进制序列(n1 n2 n3n4)来表示变换结束后,其顺序可变为((n3 n4)(n1 n2)),如: X?0111 → x?1101 。即输入顺序为7,输出时顺序变为13。   在2k/4k/8k的傅立叶变换中,由于要经过多次的基4和基2运算,因此,从每次运算完成后到进入下一次运算前,应对运算的结果进行倒序,以保证运算的正确性。旋转因子  N点傅立叶变换的旋转因子有着明显的周期性和对称性。其周期性表现为:   FFT之所以可使运算效率得到提高,就是利用了对称性和周期性把长序列的DFT逐级分解成几个序列的DFT,并最终以短点数变换来实现长点数变换。   根据旋转因子的对称性和周期性,在利用ROM存储旋转因子时,可以只存储旋转因子表的一部分,而在读出时增加读出地址及符号的控制,这样可以正确实现FFT。因此,充分利用旋转因子的性质,可节省70%以上存储单元。   实际上,由于旋转因子可分解为正、余弦函数的组合,故ROM中存的值为正、余弦函数值的组合。对2k/4k/8k的傅立叶变换来说,只是对一个周期进行不同的分割。由于8k变换的旋转因子包括了2k/4k的所有因子,因此,实现时只要对读ROM的地址进行控制,即可实现2k/4k/8k变换的通用。存储器的控制  因FFT是为时序电路而设计的,因此,控制信号要包括时序的控制信号及存储器的读写地址,并产生各种辅助的指示信号。同时在计算模块的内部,为保证高速,所有的乘法器都须始终保持较高的利用率。这意味着在每一个时钟来临时都要向这些单元输入新的操作数,而这一切都需要控制信号的紧密配合。   为了实现FFT的流形运算,在运算的同时,存储器也要接收数据。这可以采用乒乓RAM的方法来完成。这种方式决定了实现FFT运算的最大时间。对于4k操作,其接收时间为4096个数据周期,这样?FFT的最大运算时间就是4096个数据周期。另外,由于输入数据是以一定的时钟为周期依次输入的,故在进行内部运算时,可以用较高的内部时钟进行运算,然后再存入RAM依次输出。   为节省资源,可对存储数据RAM采用原址读出原址写入的方法,即在进行下一级变换的同时,首先应将结果回写到读出数据的RAM存贮器中;而对于ROM,则应采用与运算的数据相对应的方法来读出存储器中旋转因子的值。   在2k/4k/8k傅立叶变换中,要实现通用性,控制器是最主要的模块。2k、4k、8k变换具有不同的内部运算时间和存储器地址,在设计中,针对不同的点数应设计不同的存储器存取地址,同时,在完成变换后,还要对开始输出有用信号的时刻进行指示。硬件的选择  本设计的硬件实现选用的是现场可编程门阵列(FPGA)来满足较高速度的需要。本系统在设计时选用的是ALTERA公司的STRATIX芯片,该芯片中包含有DSP单元,可以完成较为耗费资源的乘法器单元。同时,该器件也包含有大量存储单元,从而可保证旋转因子的精度。   除了一些专用引脚外,FPGA上几乎所有的引脚均可供用户使用,这使得FPGA信号处理方案具有非常好的I/O带宽。大量的I/O引脚和多块存储器可使设计获得优越的并行处理性能。其独立的存储块可作为输入/工作存储区和结果的缓存区,这使得I/O可与FFT计算同时进行。在实现的时间方面,该设计能在4096个时钟周期内完成一个4096点的FFT。若采用10MHz的输入时钟,其变换时间在200μs左右。而由于最新的FPGA使用了MultiTrack互连技术,故可在250MHz以下频率稳定地工作,同时,FFT的实现时间也可以大大缩小。   FFT运算结果的精度与输入数据的位数及运算过程中的位数有关,同时和数据的表示形式也有很大关系。一般来说,浮点方式比定点方式精度高。而在定点计算中,存储器数据的位数越大,运算精度越高,使用的存储单元和逻辑单元也越多。在实际应用中,应根据实际情况折衷选择精度和资源。本设计通过MATLAB进行仿真证明:其实现的变换结果与MATLAB工具箱中的FFT函数相比,信噪比可以达到65db以上,完全可以满足一般工程的实际应用要求。
2023-07-10 20:47:521

怎样理解卷积积分?

对于非数学系学生来说,只要懂怎么用卷积就可以了,研究什么是卷积其实意义不大,它就是一种微元相乘累加的极限形式。卷积本身不过就是一种数学运算而已。就跟“蝶形运算”一样,怎么证明,这是数学系的人的工作。在信号与系统里,f(t)的零状态响应y(t)可用f(t)与其单位冲激响应h(t)的卷积积分求解得,即y(t)=f(t)*h(t)。学过信号与系统的都应该知道,时域的卷积等于频域的乘积,即有Y(s)=F(s)×H(s)。(s=jw,拉氏变换后等到的函数其实就是信号的频域表达式)有一点你必须明白,在通信系统里,我们关心的以及要研究的是信号的频域,不是时域,原因是因为信号的频率是携带有信息的量。所以,我们需要的是Y(s)这个表达式,但是实际上,我们往往不能很容易的得到F(s)和H(s)这两个表达式,但是能直接的很容易的得到f(t)和h(t),所以为了找到Y(s)和y(t)的对应关系,就要用到卷积运算。
2023-07-10 20:48:122

怎么理解ofdm的cp将线性卷积转化为循环卷积

对于非数学系学生来说,只要懂怎么用卷积就可以了,研究什么是卷积其实意义不大,它就是一种微元相乘累加的极限形式。卷积本身不过就是一种数学运算而已。就跟“蝶形运算”一样,怎么证明,这是数学系的人的工作。在信号与系统里,f(t)的零状态响应y(t)可用f(t)与其单位冲激响应h(t)的卷积积分求解得,即y(t)=f(t)*h(t)。学过信号与系统的都应该知道,时域的卷积等于频域的乘积,即有Y(s)=F(s)×H(s)。(s=jw,拉氏变换后等到的函数其实就是信号的频域表达式)有一点你必须明白,在通信系统里,我们关心的以及要研究的是信号的频域,不是时域,原因是因为信号的频率是携带有信息的量。所以,我们需要的是Y(s)这个表达式,但是实际上,我们往往不能很容易的得到F(s)和H(s)这两个表达式,但是能直接的很容易的得到f(t)和h(t),所以为了找到Y(s)和y(t)的对应关系,就要用到卷积运算。复频域。s=jw,当中的j是复数单位,所以使用的是复频域。通俗的解释方法是,因为系统中有电感X=jwL、电容X=1/jwC,物理意义是,系统H(s)对不同的频率分量有不同的衰减,即这种衰减是发生在频域的,所以为了与时域区别,引入复数的运算。但是在复频域计算的形式仍然满足欧姆定理、KCL、KVL、叠加法。负的频率。之所以会出现负的频率,这只是数学运算的结果,只存在于数学运算中,实际中不会有负的频率。
2023-07-10 20:48:191

如何画出4,8,16点基2 DIT-FFT和DIF-FFT的运算图?

如下:频域8点基2DFT。时域8点基2FFT。16点以此类推,两个8点。图像运算指以图像为单位进行的搡作(该操作对图像中的所有像素同样进行),运算的结果是一幅其灰度分布与原来参与运算图像灰度分布不同的新图像。具体的运算主要包括算术和逻辑运算,它们通过改变像素的值来得到图像增强的效果。算术和逻辑运算中每次只涉及一个空间像素的位置,所以可以“原地”完成,即在(x,y)位置做一个算术运算或逻辑运算的结果可以存在其中一个图像的相应位置,因为那个位置在其后的运算中不会再使用。换句话说,设对两幅图像f(x,y) 和h(x,y)的算术或逻辑运算的结果是g(x,y),则可直接将g(x,y)覆盖f(x,y)或h(x,y),即从原存放输入图像的空间直接得到输出图像。图像信号也具有频谱,虽然它的频谱比一般信号有更特别的解释。一般来说,图像频谱 的低频部分指那些灰度缓慢变化的部分,而高频成份意味着快速变化,往往是图像中物体的边缘。因为是从二维信号获得的频谱,所以包含着两个方向的频率数据。一个沿着图像的行, 一个沿着图像的列,因此,幅度和相位必须用第三维表示。一般在二维图上用不同的颜色强度表示这些量大小,或在三维图中用高度表示。二维DFT是首先沿图像的行作一维DFT,然后再沿中间结果数据的列作一维DFT。为提高计算速度,也存在2D FFT算法。一般要确定一幅图像需要图像的幅度和相位两部分信息,通过逆2D DFT变换即可精确还原图像。对于图像频谱,单独的相位谱往往携带了建立图像摹本的足够信息,而幅度却不能。
2023-07-10 20:48:261

魔戒所有人物介绍

《魔戒》人物介绍:一、迈雅迈雅原先是埃努,帮助维拉塑造阿尔达。迈雅的数目极其庞大,并不是每一位都被命名。(一)甘道夫/米斯兰达(Gandalf/Mithrandir,1000-3021)比尔博·巴金斯的好友,护戒同盟队的队长,出场时是灰袍巫师,跌入莫瑞亚深渊并战胜炎魔后重返人间,并剥夺了萨鲁曼的权力成为白袍巫师,继续对抗黑暗势力。(二)萨鲁曼(Saruman/Curunír Lán,1000-3019)白袍巫师,白道会会长,后来投靠索伦,腐化叛变,自称彩袍萨鲁曼。(三)索伦(Sauron/Gorthaur,3400 Y.L-3019)曾是魔苟斯·包格力尔最信赖的副手。第三纪元他占据多尔哥多时自称死灵法师,被萨鲁曼领导的白道会攻击后逃回魔多。(四)炎魔(Balrogs,3400Y.L-3019)曾是魔苟斯麾下的堕落迈雅。其中“莫瑞亚炎魔”在第三纪元中期苏醒并摧毁了莫瑞亚,最终在与甘道夫的决斗中被杀。(五)关赫(Gwaihir,?-)索伦多的后裔,巨鹰首领。在甘道夫被萨茹曼囚禁于欧散克塔时,无意中发现甘道夫并解救了他。在魔戒被销毁,末日火山喷发时亦解救佛罗多和山姆。(六)瑞达加斯特(Radagast,1000-)埃斯塔力之一,跟随维丽雅凡娜,热爱自然,最终下落不明。二、魔戒霍比特人霍比特人是人类的变种,或是人类的分支,但霍比特人坚信他们是一个独立的民族。他们体型娇小为其特色,但并非矮人或侏儒。居住在中土大陆西北的夏尔及布雷等地。即半身人。(由于霍比特人为托尔金特有商标,故其他奇幻作品将霍比特人及类霍比特人的种族称为半身人。)(一)佛罗多·巴金斯(Frodo Baggins,2968-3021)德罗哥·巴金斯之子,魔戒的持有者,魔戒远征队成员,将魔戒带往末日火山销毁。(二)山姆卫斯·詹吉/山姆(Samwise Gamgee "Sam",2980-61 F.A)哈姆法斯特·詹吉之子,佛罗多的园丁和忠诚助手,魔戒远征队成员,陪同佛罗多前往末日火山。(三)皮瑞格林·图克/皮聘(Peregrin Took "Pippin",2990-65 F.A)帕拉丁二世·图克之子,佛罗多的表侄,魔戒远征队成员,后随着甘道夫到达刚铎米那斯提力斯城堡。(四)梅里雅达克·烈酒鹿/梅里(Meriadoc Brandybuck "Merry" , 2982-65F.A)雄鹿地领主沙拉达克·烈酒鹿之子,佛罗多的表侄,魔戒远征队成员,后跟随洛汗国王远征刚铎战场。协助伊欧玟杀死安格玛巫王。(五)比尔博·巴金斯(Bilbo Baggins,2908-3021)邦哥·巴金斯之子,曾是魔戒持有者。探险家、诗人、作家。(六)咕噜/史麦戈(Gollum/Smeagol,?-3019)本名为史麦戈,史图尔霍比特人的一员,早期与祖母方的亲人一起居住。曾是魔戒持有者,捡到魔戒被其力量吸引而堕落,之后魔戒被比尔博带走,因此在后来找上了佛罗多的魔戒远征队旅程,并一路伺机想抢回认为是属于他的魔戒。三、人类人类是“独一之神”伊露维塔所创造的第二个种族。他们在阿尔达太阳纪才苏醒过来,迟于巨灯纪之末的精灵苏醒,故被称为“后来的”。人类拥有着“神赐的礼物”——死亡。(一)阿拉贡(Aragorn,2931-120 F.A)阿拉松之子。努曼诺尔人、刚铎国系嫡系传人,埃西铎第三十九代嫡亲子孙,2岁时父亲阿拉松被敌人杀害,被母亲带到瑞文戴尔请求埃尔隆德的庇护,并被取名为埃斯特尔。离开瑞文戴尔后成为一名游侠,后加入魔戒远征队。(二)波罗莫(Boromir,2978-3019)刚铎摄政王迪耐瑟二世长子,为解开魔戒之谜而来到瑞文戴尔,并加入魔戒远征队。最后死于强兽人箭下。(三)法拉墨(Faramir,2983-82 F.A)刚铎摄政王迪耐瑟二世次子,在父亲前失宠,战后迎娶了伊欧玟。(四)迪耐瑟二世(Denethor II,2930-3019)爱克西里昂二世之子,安诺瑞安家族成员。刚铎摄政王,波罗莫和法拉墨的父亲,在痛失长子、以为次子也死了后发了疯,陷入绝望,自焚而死。(五)希优顿(Théoden,2948-3019)塞哲尔之子,洛汗国王。领导洛汗士兵抵抗邪恶军队,战死于刚铎佩兰诺平野之战。(六)希优德(Théodred,2978-3019)希优顿之子,洛汗第二元帅,死于艾辛河渡口。(七)伊欧墨(éomer,2991-63 F.A)伊欧蒙德之子,希优顿的侄子。魔戒圣战前为洛汗第三元帅,圣战后成为洛汗国王。(八)伊欧玟(éowyn,2995-约82 F.A)伊欧蒙德之女,希优顿的侄女,伊欧墨的妹妹,嫁给法拉墨。(九)葛力马·巧言(Gríma Wormtongue,?-3019)洛汗国国王的私人顾问,后和萨鲁曼结盟,试图控制洛汗国大权,密谋泄漏后投奔萨鲁曼。临水之战后将萨鲁曼杀死,自己则死在夏尔部队的乱箭之下。(十)安格玛巫王(Witch-king of Angmar,2251 S.A-3019)又称戒灵之首,原是安格玛王国君王。是九个黑骑士中的领导。在刚铎参战时杀害了洛汗国王希优顿,最后丧身伊欧玟和梅里剑下。(十一)戒灵(Nazgul)又称黑骑士、纳兹古,是索伦的邪恶奴仆。他们原本是努曼诺尔的君王,强大的人类,但其后索伦铸造了人类九戒,在魔戒中接受了索伦赠予的魔戒而逐渐堕落成为幽灵一样存在的受索伦控制的生物。四、精灵精灵是伊露维塔的首生儿女,大地上最美丽的种族。他们都是长生不朽的,一旦躯体在战斗中消逝,灵魂则前往曼督斯神殿等待释放,因此精灵都对留在世界的时间冗长感到疲惫不堪。(一)莱戈拉斯(Legolas,?-120 F.A)幽暗密林精灵王瑟兰督伊之子,是魔戒远征队的成员之一,后来参加了洛汗对抗萨鲁曼的圣盔谷之战及对抗索伦的魔戒圣战。(二)埃尔隆德(Elrond , 532 Fs.A-3021)半精灵,航海家埃兰迪尔之子,阿尔温的父亲,瑞文戴尔领主。(三)阿尔温(Arwen,241-121 F.A)埃尔隆德之女,后来嫁给阿拉贡,放弃了精灵的永生。(四)凯兰崔尔(Galadriel,1362 Y.T-3021)费纳芬之女,罗斯洛立安森林的精灵女首领。曾经是反抗主神、离开阿门洲的诺多精灵的领袖之一。(五)哈尔迪尔(Haldir,?-3021)罗斯洛立安的精灵,是罗斯洛立安边境的护林官。最终可能随凯兰崔尔渡海走了,也可能与其他萝林精灵留在了东萝林。在《指环王》电影中,哈尔迪尔战死于圣盔谷之战。(六)葛罗芬戴尔(Glorfindel,?-511 Fs.A;1600 S.A-?)贡多林王国十二家族中金花家族首领,在贡多林沦陷时丧命。在维林诺重塑形体且经维拉批准后,于佛诺斯特战役重新露面。五、矮人矮人是由维拉之一奥力所创的种族,他们是重视荣誉的英勇战士,非常善于工艺制作。但他们的性格中也有固执和贪婪的成分,矮人与精灵的宿怨就是矮人在诱惑下杀害精灵王埃卢·庭葛所引起的。矮人有七大氏族:长须氏族(又称都灵氏族)、火须氏族、宽梁氏族、铁拳氏族、硬须氏族、黑锁氏族、石足氏族。金雳(Gimli,2879-120 F.A):葛罗音之子,自始至终和阿拉贡、莱戈拉斯并肩作战,最后成为莱戈拉斯的好友,在抵抗黑暗势力的战争中立下大功。六、半兽人和强兽人半兽人由魔苟斯改造精灵族而来,半兽人容貌丑陋,性格凶暴,寿命短,畏惧日光(但仍可在白昼活动),体型迥异,也有少数较人类高大者。有一说,他们也混进了食人妖的血统。强兽人由萨鲁曼混杂半兽人和人类血统而造成。强兽人军队不怕阳光,对萨鲁曼非常忠诚,他们的高度、力量都比半兽人优胜。(一)乌骨陆(Uglúk)由萨鲁曼派出的掳获梅里和皮聘的强兽人军队首领。(二)葛力斯那克(Grishnákh)由魔多派出的掳获梅里和皮聘的半兽人军队首领。(三)夏格拉(Shagrat)西力斯昂哥塔楼的半兽人长官。 其部下马斯盖许,拉格夫等都被哥巴葛领导小队射杀。(四)哥巴葛(Gorbag)米那斯魔窟的半兽人长官,安格玛巫王部下,因与夏格拉发生争执而被杀。(五)乌格鲁克(Ugluk)带领霍比特人去艾辛格的半兽人头领,后被伊欧墨杀死。(六)鲁兹(Lurz)强兽人头领,射杀了护戒队成员波罗莫,后被阿拉贡杀死。原著中未出现。(七)勾斯魔格(Gothmog)与第一纪元的炎魔首领勾斯魔格同名,魔多半兽人司令。被金雳和阿拉贡联手杀死。七、树人树人的早期历史几乎完全无可稽考,他们居住在中土大陆的大森林里,在第一纪元末才稍为露面,攻击兵败多瑞亚斯的矮人残军。树人通常被称为牧树人。树胡/法贡(Treebeard/Fangorn,1050 Y.T-?):法贡森林里的树人首领,率领树人攻下了萨鲁曼的艾辛格。八、其他在《魔戒》《汤姆·庞巴迪历险记》《托尔金奇幻小说集》中汤姆·庞巴迪都有出现,作者并没有明确交代他的身份信息。甘道夫称汤姆·庞巴迪是中土大陆现存最年长的生命。有推测指他是其中一位埃努,甚至是伊露维塔,当读者将汤姆·庞巴迪与伊露维塔比对的时候,托尔金却说汤姆·庞巴迪并不是伊露维塔,但他也再没有进一步说明了。汤姆·庞巴迪(Tom Bombadil):“森林、流水和山丘的主人”。来历模糊不清,他自称为“年老的”及“主人”,他曾说他见证过中土大陆的“第一滴雨水落下及第一颗橡实的成长”,并“曾渡过那在暗夜星光之下无所畏惧的年代,在那暗王从宇外出现之前的年代”。扩展资料:一、《魔戒》介绍《魔戒》(The Lord of the Rings)又译《指环王》,是英国作家、语言学家、牛津大学教授约翰·罗纳德·瑞尔·托尔金创作的长篇奇幻小说。该书是《霍比特人》的续作,被公认为近代奇幻文学的鼻祖。经过十二年的创作和四年的修改,《魔戒》于1954年至1955年出版。全书分为三部:《护戒同盟》《双塔奇兵》《王者归来》。《魔戒》主要讲述了中土世界第三纪元末年魔戒圣战时期,各种族人民为追求自由而联合起来,反抗黑暗魔君索伦的故事。《魔戒》在Waterstones书店和英国电视四台共同举办的票选活动中被评为“20世纪之书”,在亚马逊举办的票选活动中被评为“两千年来最重要的书”。《魔戒》已被翻译成六十多种语言,并衍生出插画、音乐、电影、电视剧、广播剧和电脑游戏等产品。2001年至2003年,由彼得·杰克逊执导的《指环王》系列电影上映,该系列电影共荣获17项奥斯卡金像奖,其中《指环王3:王者归来》荣获11项奥斯卡金像奖,成为奥斯卡历史上获奖最多的影片(和《宾虚》及《泰坦尼克号》并列)。二、内容简介(一)故事背景至尊魔戒的历史可以追溯到第二纪元1200年。这一年,黑暗魔君索伦以“天赋宗师”安纳塔的身份出现在伊瑞詹。伊瑞詹领主凯勒布理鹏受索伦的欺骗,铸造了十九枚统御魔戒——精灵三戒、矮人七戒和人类九戒。1600年,索伦暗中铸造了至尊魔戒,以控制其他的统御魔戒。凯勒布理鹏识破了索伦的阴谋,他将精灵三戒交给吉尔加拉德和凯兰崔尔保管。1693年,索伦率军入侵伊利雅德,精灵与索伦之战爆发。索伦的前锋部队被凯勒鹏击败,但他还是于1695年率军抵达伊瑞詹。凯勒布理鹏试图据守奥斯特恩艾特希尔,但他被索伦击败并被生擒。他没能经受住索伦的拷问,被迫透露了矮人七戒和人类九戒的下落,最终被索伦杀害。索伦得到了人类九戒,他将它们赠给九位努曼诺尔的贵族,最终这九位贵族堕落成戒灵。第二纪元3261年,努曼诺尔帝国皇帝亚尔-法拉松来到中土大陆,他率军向魔多进发,迫使索伦向他投降。亚尔-法拉松俘虏了索伦,并将他带回努曼诺尔。索伦用三年的时间腐化了亚尔-法拉松,成为他最亲近的国师。在索伦的煽动下,亚尔-法拉松于3319年悍然出兵远征维林诺。这一举动激怒了伊露维塔,他将阿尔达由平面世界重塑为球形世界,将阿门洲移出阿尔达,并将努曼诺尔沉入海底。在努曼诺尔贵族伊兰迪尔和他的两个儿子埃西铎、安那瑞安的率领下,一部分努曼诺尔人流亡到中土大陆,建立了亚尔诺和刚铎两个王国。第二纪元3429年,索伦对刚铎发动战争,占领了米那斯伊希尔。次年,吉尔加拉德和伊兰迪尔为抵抗索伦而结盟,史称精灵及人类最后同盟,最后同盟战役由此开始。3441年,索伦在巴拉多之围中先后杀害了伊兰迪尔和吉尔加拉德。埃西铎捡起纳西尔圣剑的碎片,斩下了索伦戴有魔戒的手指,索伦的肉体因此消亡。埃西铎夺取了魔戒,但他拒绝销毁它,并将它作为自己的传家之宝。第三纪元2年,埃西铎在格拉顿平原被半兽人杀害,魔戒掉入安都因河,从此被人们遗忘。第三纪元1000年前后,索伦以死灵法师的身份重新出现在中土大陆,建立了多尔哥多。维拉派出五名与索伦实力相当的迈雅,以巫师的身份前往中土大陆,帮助精灵和人类对抗索伦。第三纪元2463年,魔戒被霍比特人德戈发现,他的好友史麦戈被魔戒诱惑,将他杀害并夺取了魔戒。史麦戈后来被族人逐出家乡,他藏身于迷雾山脉的洞穴中,并被魔戒转变为一个名为“咕噜”的扭曲而堕落的生物。2941年,霍比特人比尔博·巴金斯应灰袍巫师甘道夫的邀请参与了孤山任务,他在途中偶然发现了魔戒。但在与咕噜的猜谜游戏中,他透露了“夏尔”和“巴金斯”。同年,索伦在多尔哥多被白袍巫师萨鲁曼领导的圣白议会打败,逃回了魔多。3017年,咕噜在寻找至尊魔戒时被索伦俘虏,被迫交代了至尊魔戒的下落。不久,甘道夫的好友、埃西铎的第三十九代嫡孙、登丹人酋长阿拉贡二世在死亡沼泽捕获了被索伦释放的咕噜,他将咕噜送往幽暗密林,将其交给该地的精灵看管。(二)魔戒同盟故事开始于第三纪元3001年9月22日。这天晚上,比尔博·巴金斯在他的111岁生日宴会期间离开了夏尔,他的堂侄佛罗多·巴金斯继承了魔戒。甘道夫认为这枚戒指可能是至尊魔戒,于是前往米那斯提力斯查阅埃西铎的卷轴。3018年,索伦派九名戒灵搜寻魔戒。同年,甘道夫返回夏尔,他要求佛罗多将魔戒带至瑞文戴尔,听取该地领主埃尔隆德的建议。3018年9月23日,佛罗多开始了冒险之旅,和他同行的是他的三位好友:山姆卫斯·詹吉(山姆)、梅里雅达克·烈酒鹿(梅里)和皮瑞格林·图克(皮聘)。四人险些与戒灵相遇,但他们随即经雄鹿地逃进老林,摆脱了戒灵的跟踪。在老林中他们结识了汤姆·庞巴迪。离开老林后他们被古墓岗的尸妖捕获,幸得汤姆·庞巴迪的帮助,并从卡多兰国王的陪葬品中获得了宝剑(帕兰诺平原战役中,梅里使用宝剑刺中了安格玛巫王)。离开古墓岗后,他们在布理遇到了被当地人称为“大步佬”的阿拉贡,阿拉贡受甘道夫之托加入了他们的行列。一行人在小镇遭受攻击后悄然离开,戒灵却紧随其后。在风云顶上,佛罗多被安格玛巫王的古剑刺伤。在佛罗多的伤势愈发严重之际,葛罗芬戴尔出现并救了佛罗多。在喧水河的布鲁南渡口,埃尔隆德使用精灵三戒中的维雅释放洪水,击退了追逐佛罗多的戒灵。一行人终于来到瑞文戴尔,佛罗多在埃尔隆德的治疗下康复。10月25日,埃尔隆德召集了一次会议。会议决定将魔戒带回它的铸造之地——末日火山,在那里将它销毁;并且决定组建“魔戒远征队”,执行这一艰巨的任务。远征队由九人组成:佛罗多、山姆、梅里、皮聘、甘道夫、阿拉贡,以及矮人金雳(孤山任务参与者葛罗音之子)、精灵莱戈拉斯(幽暗密林国王瑟兰迪尔之子)、人类波罗莫(刚铎摄政王迪耐瑟二世长子)。12月25日,远征队从瑞文戴尔出发,向南方前进。他们试图经红角峰翻越迷雾山脉,但因天气恶劣未能成功。在甘道夫的建议下,远征队改道进入摩瑞亚。他们在二十一号大厅发现了“摩瑞亚之王”巴林的棺椁,以及棺旁手持《马泽布之书》的欧力的遗体(巴林和欧力都曾是孤山任务的参与者)。在二十一号大厅,远征队遭到半兽人的袭击。他们逃到凯萨督姆之桥,不料“都灵的克星”——炎魔突然出现。为了保护其他队员,甘道夫毅然与炎魔决斗,和炎魔一起坠入深渊。在阿拉贡的带领下,远征队进入罗斯洛立安避难。他们在这里略作休整,并收到了罗斯洛立安领主夫人凯兰崔尔赠送的礼物。远征队沿安都因河南下,于2月26日抵达阿蒙汉山。在这里,波罗莫抵挡不住魔戒的诱惑,试图从佛罗多手中夺取魔戒,但未能成功。佛罗多决定独自离开队伍,但山姆不愿离开主人,坚持与佛罗多同行。于是两人乘船渡过安都因河,踏上前往魔多的旅程。(三)双塔奇兵佛罗多和山姆离开后不久,大批强兽人和半兽人袭击了远征队。波罗莫为了保护梅里和皮聘,吹响号角向刚铎求援,但援军因路途遥远而无法赶到,他被半兽人乱箭射死。最终梅里和皮聘被半兽人绑架,远征队就此分崩离析。阿拉贡、莱戈拉斯和金雳发现佛罗多已经离开,他们决定营救梅里和皮聘,于是跟随半兽人的脚步进入洛汗境内。绑架梅里和皮聘的半兽人遭到洛汗国王希优顿的外甥伊欧墨率领的一队骑兵的攻击,梅里和皮聘趁乱逃进法贡森林,遇到了树人树胡。根据伊欧墨提供的线索,阿拉贡等人前往法贡森林,在那里他们没能找到梅里和皮聘,却遇见了甘道夫——他在西拉克西吉尔峰之巅打败炎魔之后死去,但伊露维塔使他复活,现在他已经晋升为白袍巫师。甘道夫将梅里和皮聘同树人们在一起的消息告诉了他们。甘道夫和阿拉贡等人前往洛汗首都伊多拉斯会见希优顿,此时洛汗王子希优德已经死于强兽人之手。甘道夫将希优顿从萨鲁曼的骗局和催眠中解救出来,伊欧墨也从监禁中获得释放。希优顿为抵御萨鲁曼的强兽人攻击,同众人退守圣盔谷,甘道夫则去寻找更多的兵力。圣盔谷被萨鲁曼的强兽人重重包围,但甘道夫随即带回援军,打败了强兽人。树人对艾辛格发动攻击,将萨鲁曼困在欧散克塔中。希优顿等人随即来到艾辛格同萨鲁曼谈判,但萨鲁曼拒绝承认自己犯下的过错,甘道夫只好夺去他的地位和强大的力量。梅里和皮聘终于归队,但好奇的皮聘窥视了真知晶球——萨鲁曼与索伦交流的工具,这个举动使索伦误以为萨鲁曼已经抓住了持戒人。为了保证皮聘的安全,甘道夫将真知晶球交给阿拉贡,自己携皮聘前往刚铎。另一方面,佛罗多和山姆在前往魔多的路上捉住了自摩瑞亚便不断跟踪他们的咕噜,并要求他带领他们进入魔多。在了解到魔多的大门——黑门无法通行后,咕噜提议从一条鲜为人知的小路继续前进。但咕噜背叛了佛罗多,将其带入蜘蛛尸罗的要塞西力斯昂哥。佛罗多被尸罗咬伤,陷入昏迷,但山姆还是打败了尸罗。为了不让魔戒落入索伦之手,山姆承担起持戒人的责任,他带走了魔戒,强迫自己离开主人。佛罗多随后被半兽人发现,山姆才发现佛罗多并未死去,只是丧失了意识。佛罗多被带往西力斯昂哥之塔,山姆则下定决心要拯救他。(四)王者归来甘道夫携皮聘前往米那斯提力斯,向迪耐瑟二世发出警告。迪耐瑟曾用真知晶球秘密刺探索伦的实力,他强大的意志力使索伦未能腐化他。但由于妻子芬朵拉斯和长子波罗莫的离世,迪耐瑟逐渐变得冷酷、沉默而绝望。为了抵抗魔多的进攻,迪耐瑟向洛汗求援,将非战斗人员撤至安全的地方,并派遣次子法拉墨率军夺回奥斯吉力亚斯坚固的堡垒作为阵地。但法拉墨的努力失败了,他在敌人的猛烈进攻下陷入昏迷,被多尔安罗斯领主印拉希尔救回。索伦出兵对刚铎展开攻击,魔多、哈拉德威治等地的军队布满了帕兰诺平原,率军前来支援刚铎的希优顿被自己的爱马雪鬃压死,伊欧玟为守护舅舅的尸体而击杀了安格玛巫王。希优顿至死也不知道伊欧玟就在自己身边。米那斯提力斯城内,彻底绝望的迪耐瑟欲与法拉墨一同火葬,但法拉墨被及时赶到的甘道夫等人救下,迪耐瑟自己则痛苦地死去了。与此同时,阿拉贡、莱戈拉斯和金雳经亡者之路前往刚铎南部。阿拉贡在途中召唤了一批因在最后同盟战役中背叛了埃西铎而不能被超度的亡灵。并以埃西铎后裔的名义请求他们的帮助,以解除他们古老的诅咒。亡灵帮助他击败了前往帕兰诺平原参战的昂巴海盗。阿拉贡等人于是率领大批南方士兵前往帕兰诺平原参战。在刚铎各省军队、洛汗骑兵以及北方游侠的援助下,帕兰诺平原战役以刚铎的胜利而告终,刚铎赢得了短暂的喘息。此时,幽暗密林、罗斯洛立安、长湖镇和孤山等遭到魔多军队的攻击的地方也都获得了胜利。另一方面,山姆设法救出了佛罗多,两人继续魔多之旅。在接近末日火山之际,佛罗多的身体越来越虚弱,山姆则一直在他身边帮助他。此刻,黑门前展开了激烈的战斗,西方联军不顾一切地与数量多得惊人的魔多大军作战,试图将索伦的注意力从末日火山转移开来。佛罗多和山姆终于来到末日火山的边缘,在这关键的时刻,佛罗多再也抵挡不了魔戒的诱惑,他声称自己是魔戒的主人,戴上了魔戒。此时咕噜再度出现,和佛罗多争夺魔戒。咕噜咬断了佛罗多的手指,夺取了魔戒,却因此掉入火山,和魔戒一起葬身火海。在魔戒被摧毁的同时,魔多大军瓦解,巴拉多黑塔倒塌,魔多化为火海,魔戒圣战基本结束。此时巨鹰首领“风王”关赫现身,救下了被困的佛罗多和山姆。5月1日,西方联军凯旋归来,阿拉贡在米那斯提力斯城外加冕,成为刚铎及亚尔诺重联王国国王,称伊力萨·泰尔康泰,并迎娶埃尔隆德之女阿尔温为王后。佛罗多和三位好友回到夏尔,发现逃脱了监禁的萨鲁曼已经奴役了他们的家乡。四人立即组织义军,发动了临水之战,推翻了萨鲁曼的统治。萨鲁曼死于自己先前的仆人葛力马·巧言之手,而葛力马也被霍比特人弓箭手夺去了性命。魔戒圣战到此结束,但佛罗多身体和心灵受到的创伤皆未能康复。3021年,在比尔博、甘道夫、埃尔隆德和凯兰崔尔的陪伴下,佛罗多从灰港岸离开中土大陆,前往维林诺。第四纪元61年,山姆之妻罗茜去世,山姆将《西境红皮书》传给了他的女儿伊拉诺,独自前往灰港岸。按照乌欧牟的指示,瑟丹带领最后一位持戒人前往维林诺。在梅里、皮聘和阿拉贡分别于65年和120年去世后,莱戈拉斯和金雳一起离开中土大陆,前往维林诺。金雳成为第一个也是唯一一个踏上维林诺土地的矮人。魔戒远征队的故事到此结束。参考资料:百度百科—魔戒
2023-07-10 20:48:544

谁知道ENVI里面图像增强中(Enhance)高斯增强是什么原理,文档或者链接都行啊

高斯滤波(高斯平滑)是图像处理,计算机视觉里面最常见的操作。平时,我们都是用matlab或者opencv的函数调用:imfilter或者cvSmooth,并不关心底层的实现。然而当开发者要实做高斯滤波的时候,往往就会很迷惘,往往会被以下几个问题困扰:给定sigma,即标准偏差,怎么确定离散化后滤波器的窗口大小?给定窗口大小,怎么计算高斯核的sigma,即标准方差?怎么实现可分离滤波器?我在google上搜了一下,还真没几个人把实现的细节讲清楚了。这里,我尝试结合三份源码,做个小小的总结。三份源码分别是:opencv中的cvfilter.cppautopano-sift-c中的GaussianConvolution.cGIMP中的blur-gauss.c和unsharp-mask.c在图像处理中,高斯滤波一般有两种实现方式,一是用离散化窗口滑窗卷积,另一种通过傅里叶变换。最常见的就是第一种滑窗实现,只有当离散化的窗口非常大,用滑窗计算量非常大(即使用可分离滤波器的实现)的情况下,可能会考虑基于傅里叶变化的实现方法。这里我们只讨论第一种方法。二维高斯函数的形式是这样的:f(x,y) = A e^{- left(frac{(x-x_o)^2}{2sigma_x^2} + frac{(y-y_o)^2}{2sigma_y^2} ight)}.有着如下的形状,形状很激凸,怎么会叫高斯平滑呢,分明是高斯激凸嘛:基本上,离散化的主旨就是保留高斯函数中心能量最集中的中间部分,忽略四周能量很小的平坦区域。这只是个很感性的描述,具体实现起来,就会出现千奇百怪的版本。下面结合三份源码,看看现实世界里的高斯平滑到底长的什么样子。首先是第一个问题:给定sigma,怎么计算窗口大小?直接上opencv的源码,在cvFilter函数中:param1 = cvRound(sigma1*(depth == CV_8U ? 3 : 4)*2 + 1)|1;opencv认为半径为3*sigma的窗口就是高斯函数能量最集中的区域。(为什么在图像深度不是8U的时候,使用4*sigma半径的窗口就不得而知了,有高人指点一下?)autopan0-sift-c是图像拼接软件hugin里面的sift实现,在实现DoG的时候需要做不同尺度的高斯平滑,实现如下,在GaussianConvolution_new1函数中:dim = 1 + 2 * ((int) (3.0 * sigma));可见autopano也是实现的3*sigma半径的窗口。在GIMP里,实现比较奇特,在blur_gauss.c的make_rle_curve函数里面,const gdouble sigma2 = 2 * sigma * sigma;const gdouble l = sqrt (-sigma2 * log (1.0 / 255.0));int n = ceil (l) * 2;if ((n % 2) == 0)n += 1;我是没看懂那个 log (1.0 / 255.0)是干嘛的。。。惭愧。效果来看,这个实现的窗口半径是约等于2.2*sigma。然后是第二个问题:给定窗口大小,怎么计算sigma?opencv的实现,在cvFilter.cpp的init_gaussian_kernel函数中:sigmaX = sigma > 0 ? sigma : (n/2 – 1)*0.3 + 0.8;再次不可解。。。乘以0.3还可以接受,加上0.8是为嘛啊?autopano没有实现这个特性。GIMP的实现:/* we want to generate a matrix that goes out a certain radius* from the center, so we have to go out ceil(rad-0.5) pixels,* inlcuding the center pixel. Of course, that"s only in one direction,* so we have to go the same amount in the other direction, but not count* the center pixel again. So we double the previous result and subtract* one.* The radius parameter that is passed to this function is used as* the standard deviation, and the radius of effect is the* standard deviation * 2. It"s a little confusing.*/radius = fabs (radius) + 1.0;std_dev = radius;radius = std_dev * 2;/* go out ‘radius" in each direction */matrix_length = 2 * ceil (radius – 0.5) + 1;注释讲的很清楚了,基本上就是认为sigma应该等于窗口半径的一半。看完这三分源码,结论就是,关于sigma和半径,你爱怎么算就怎么算吧,差不多就行。。。(额。。费了半天劲,就得到这么一句废话啊)。第三个问题是可分离滤波器:由于高斯函数可以写成可分离的形式,因此可以采用可分离滤波器实现来加速。所谓的可分离滤波器,就是可以把多维的卷积化成多个一维卷积。具体到二维的高斯滤波,就是指先对行做一维卷积,再对列做一维卷积。这样就可以将计算复杂度从O(M*M*N*N)降到O(2*M*M*N),M,N分别是图像和滤波器的窗口大小。问题是实现时候怎么计算一维的卷积核呢?其实很简单,按照前面计算出来的窗口大小,计算所有离散点上一维高斯函数的权值,最后别忘了将权值之和归一化到1.有码有真相,来自opencv:for( i = 0; i <= n/2; i++ ){double t = fixed_kernel ? (double)fixed_kernel[i] : exp(scale2X*i*i);if( type == CV_32FC1 ){cf[(n/2+i)*step] = (float)t;sum += cf[(n/2+i)*step]*2;}else{cd[(n/2+i)*step] = t;sum += cd[(n/2+i)*step]*2;}}sum = 1./sum;for( i = 0; i <= n/2; i++ ){if( type == CV_32FC1 )cf[(n/2+i)*step] = cf[(n/2-i)*step] = (float)(cf[(n/2+i)*step]*sum);elsecd[(n/2+i)*step] = cd[(n/2-i)*step] = cd[(n/2+i)*step]*sum;}
2023-07-10 20:48:542

倒仓是什么意思

倒仓,是指在市场当中的一种比较异常的盘面现象,即某只股票在买一或卖一位置上挂出巨大的买单和卖单,而同时成交量不断放出巨量,几乎都是单向的买盘或卖盘,而股价却基本保持不变。 它反映了某只个股正以某一价位从一个仓位转移到另一个仓位。 股票倒仓出现的原因: 1、换庄。由于资金或者其它方面的原因,某些市场主力无法再控制某只股票的筹码,往往会找别人重新去做这只股票。 2、分仓。一只股票在一个仓位过度集中的时候,也是不利于后市的操作的,因为此时目标过于明显,需要将之转移到很多不同的仓位当中去。 3、解盘。有些庄股选在资金链放大的过程,所以一只股票的账面盈利,在某个仓位上都要控制在一定的水平上,为此需要不断接盘转移。
2023-07-10 20:48:551

菲亚特这个牌子的车都有哪些?

菲亚特在中国国产的有派力奥(Palio),西耶那(Siena)以及周末风(Palio Weekend)以及即将上市的“派朗”(Perla),在欧洲市场有微型车Panda(熊猫)系列,Idea,Punto,SeiCento(600),CinqueCento(500,四门三厢车Albea(就是我们这里的西耶那),旅行车Croma,Multipla,商用车Doblo,Ducato,小型车Grande Punto,Stilo(两厢车/旅行车),越野小型车Sedici(和铃木SX4共同合作),和Ulysse(MPV)。在南非、巴西等国家有Uno/Mille(著名车型Uno的改良版),Strada(皮卡),Adventure(越野旅行车)。产品变形车众多。
2023-07-10 20:48:579

微安表改装欧姆表,调零电阻的外接和内接的区别?误差大小相比较谁更大???

这要看被测电阻的大小了,一般是大内小外,这样弄误差就比较小内接和外接没有所谓的误差谁大谁小,要在具体情况中具体分析
2023-07-10 20:48:571

点评御泥坊清爽平衡矿物泥浆面膜怎么样,好不好用

适用皮肤:中性、油性、混合性皮肤产品功效:深层清洁、平衡水油、收敛毛孔这款产品的成分是提取竹粹精华和火山泥等物质对于控油方面有很好的作用,加上竹粹比较清爽,使用后还是比较舒适的
2023-07-10 20:48:593

setcharacterencodingfilter.java 怎么用

在web.xml里面配置吧?<filter> <filter-name>imFilter</filter-name> <filter-class>com.sinovatech.filter.ImFilter</filter-class></filter><filter-mapping> <filter-name>imFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping>过滤器一般都这么 配置不过你这个可能要加个initparam 传编码值的
2023-07-10 20:49:031

倒仓是什么意思

倒仓,是指在市场当中的一种比较异常的盘面现象,即某只股票在买一或卖一位置上挂出巨大的买单和卖单,而同时成交量不断放出巨量,几乎都是单向的买盘或卖盘,而股价却基本保持不变。 它反映了某只个股正以某一价位从一个仓位转移到另一个仓位。 股票倒仓出现的原因: 1、换庄。由于资金或者其它方面的原因,某些市场主力无法再控制某只股票的筹码,往往会找别人重新去做这只股票。 2、分仓。一只股票在一个仓位过度集中的时候,也是不利于后市的操作的,因为此时目标过于明显,需要将之转移到很多不同的仓位当中去。 3、解盘。有些庄股选在资金链放大的过程,所以一只股票的账面盈利,在某个仓位上都要控制在一定的水平上,为此需要不断接盘转移。
2023-07-10 20:48:491

在将微安表改装为欧姆表时,表盘中间三分之一区域的刻度是线性的?

不是。万用表电阻档盘面刻度不会有均匀的线性段。
2023-07-10 20:48:481

(1) 选择一幅图像,叠加零均值高斯噪声,然后分别利用领域平均法和中值滤波法对该图像进行滤波,显示滤

领域法:y=imread("D:ABC.jpg");J1=imnoise(y,"salt & pepper",0.02);J2=imnoise(y,"gaussian");H1=ones(3,3)/9;Y=imfilter(y,H1);Y1=imfilter(J1,H1);Y2=imfilter(J2,H1);subplot(2,2,1),imshow(Y);subplot(2,2,2),imshow(Y1);subplot(2,2,3),imshow(Y2);中值法y=imread("D:ABC.jpg");J1=imnoise(y,"salt & pepper",0.02);J2=imnoise(y,"gaussian",0.02);subplot(2,2,1),imshow(J1);subplot(2,2,2),imshow(J2);y1=medfilt2(J1,[5,5]);y2=medfilt2(J2,[5,5]);subplot(2,2,3),imshow(y1);subplot(2,2,4),imshow(y2);
2023-07-10 20:48:452

谁能给我指环王上各个角色的名字?

其实你自己就可以总结(选你最喜欢的译名) 瑞文戴尔的主人,爱隆(埃尔隆德)爱隆的女儿,亚拉冈的妻子:亚纹(阿尔温)爱隆的双生儿子:伊莱丹和伊罗何(埃莱丹,埃罗赫)洛丝罗瑞安的主人:凯兰崔尔和凯勒鹏(夫妻俩)【盖拉德丽尔,凯利博恩】哈尔达:洛丝罗瑞安的精灵(哈尔迪)幽暗密林王子:勒苟拉斯(莱格拉斯)吉尔加拉德:中土大陆诺多精灵的最高君王(吉尔格拉德)以上是电影中我能想到出现的精灵。还有爱隆不是精灵王。洛丝罗瑞安,幽暗密林,瑞文戴尔是三个不同的精灵自治国度谈不上王。即使是吉尔加拉德也不过是中土大陆诺多精灵的最高君王———————————————————————————————————————————————金雳:葛罗音之子(吉穆利)———————————————————————————————————————————————佛罗多:魔戒携带者,比尔博的侄子(佛拉多)山姆:佛罗多的朋友兼园丁梅里:佛罗多的朋友(梅利)皮聘:佛罗多的朋友(皮平)比尔博:佛罗多的叔叔,第四位魔戒拥有者(毕尔博)咕噜姆(史麦戈):第三位魔戒拥有者(史米戈)德戈:咕噜姆(史麦戈)的朋友(迪亚戈)———————————————————————————————————————————————亚拉冈:钢铎王位的正统继承人。亚纹的丈夫。(阿拉贡)伊兰迪尔:努美诺尔流亡者的首领,埃西铎的父亲(伊伦迪尔)埃西铎:伊兰迪尔之子,第二位魔戒拥有者,钢铎的第一位国王(伊希尔德)波罗莫,法拉墨,迪耐瑟:爷仨(法拉墨是甘道夫的学生,伊欧文的丈夫)(波罗米尔,法拉米尔,德内豪)希优顿:洛汗国王,伊欧玟,伊欧墨的叔叔(不是父亲)(塞奥顿)伊欧玟(法拉墨的妻子),伊欧墨(骠骑国的第三元帅,洛汗国第三家系首位国王):兄妹,希优顿的侄子和侄女(伊奥尔温,伊奥尔莫尔)希优德:骠骑国的第二元帅,希优顿之子,洛汗王子()格里马·巧言:萨鲁曼的奴仆(格里马·三寸舌)———————————————————————————————————————————————甘道夫:人型迈雅,法拉墨的老师。最后来到中土的迈雅(刚多尔夫)萨鲁曼:人型迈雅,第一个来到中土的迈雅(萨茹曼)索伦:同为迈雅,邪恶制造者(索隆)———————————————————————————————————————————————树胡:树人,现存的最古老的三位树人之一(树胡子) 我把我能想到的所有魔戒里出现的主要人物都发上来了。前面是联经版的,后面是译林版的。没有的是翻译一样的。我是一个字一个字打的
2023-07-10 20:48:441

倒仓是什么意思

倒仓的解释 (1) [take grain out of a granary to sun it]∶晾晒仓里的粮食后再装进去 (2) [transfer grain from one granary to another]∶把一个仓中粮米装到另一个仓中去 详细解释 (1).戏曲演员在 青春 期发育时嗓音变低或变哑。 王梦生 《 梨园 佳话·总论》 :“佳喉善唱,一经倒仓便哑。” 梅 兰芳 《舞台 生活 四十年》 第四章:“演员的倒仓变嗓时期是一个关口,倒不过来,往往一蹶不振。” (2).把一个仓里的粮食转到另一个仓里去。 把一个仓里的粮食全部取出来,晾晒之后再装 回去 。 词语分解 倒的解释 倒 ǎ 竖立的 东西 躺下来: 摔倒 。墙倒了。倒塌。倒台。打倒。卧倒。 对调,转移,更换,改换:倒手。倒换。倒车。倒卖。倒仓。倒戈。 正顺 倒 à 位置上下前后翻转:倒立。倒挂。 倒影 。倒置。 把容器反转或 仓的解释 仓 (仓) ā 收藏谷物的建筑物:米仓。粮仓。仓储。仓房。 姓。 部首 :人。
2023-07-10 20:48:421

安培表和伏特表的工作原理

安培表和伏特表,内部基本结构一样,都是微安表。只允许通过微安级的电流,通过的电流驱动线圈旋转做指示。不同的是,安培表的输入输出端接了一个非常小的分流电阻,只让很小的电流通过微安表头。分流电阻的大小决定了安培表的量程。伏特表是串联了一个非常大的电阻,用来限制输入微安表头的电流。串联电阻的大小决定了最高电压量程。
2023-07-10 20:48:392