蝶形算法
‘壹’ 有谁知道为啥fft蝶形算法补零后频率不对了
你几年级啊??
‘贰’ 按时间抽取的蝶形运算是先相乘还是先加减
先向,呈现相承,现在都是先相乘然后再加减,如果加减法就算出来就结果就不对
‘叁’ 碟形弹簧片数的计算
碟形弹簧片数的计算比较复杂,建议找专业资料或软件解决。
碟形弹簧是用金属板料或锻压坯料而成的截锥形截面的垫圈式弹簧。在单个碟形弹簧的荷载不能满足要求时,可用多片以串并联叠合方式解决。所需片数可通过计算获得。
碟形弹簧是在轴向上呈锥形并承受负载的特殊弹簧,在承受负载变形后,储蓄一定的势能,当螺栓出现松弛时,碟形弹簧释放部分势能以保持螺栓压力达到要求。碟形弹簧应力分布由里到外均匀递减,能够实现低行程高补偿力的效果。
由于蝶形簧片计算后的误差不可控,且不同批次产品之间存在离散性。所以在大批量运用时还需根据计算结果做荷载实验。有些场合会直接跳过计算环节而通过实验确定所需片数。
‘肆’ 关于蝶形运算 vhdl
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_signed.all;----应该是unsigned
entity butterfly is
port( clk:in std_logic-------少了个时钟端口
in1_r: in STD_LOGIC_VECTOR (3 downto 0);
in1_i: in STD_LOGIC_VECTOR (3 downto 0);
in2_r: in STD_LOGIC_VECTOR (3 downto 0);
in2_i: in STD_LOGIC_VECTOR (3 downto 0);
out1_r: out STD_LOGIC_VECTOR (7 downto 0);
out1_i: out STD_LOGIC_VECTOR (7 downto 0);
out2_r: out STD_LOGIC_VECTOR (7 downto 0);
out2_i: out STD_LOGIC_VECTOR (7 downto 0);
w_r:in STD_LOGIC_VECTOR (3 downto 0);
w_i:in STD_LOGIC_VECTOR (3 downto 0); ---多了个分号
);
end butterfly;
architecture butter of butterfly is
signal a1 : STD_LOGIC_VECTOR (3 downto 0);
signal b1 : STD_LOGIC_VECTOR (3 downto 0);
signal a : STD_LOGIC_VECTOR (3 downto 0);----应该为(7 downto 0)
signal b : STD_LOGIC_VECTOR (3 downto 0);----应该为(7 downto 0)
signal c : STD_LOGIC_VECTOR (3 downto 0);
signal ax : STD_LOGIC_VECTOR (7 downto 0);
signal bx : STD_LOGIC_VECTOR (7 downto 0);
signal cx : STD_LOGIC_VECTOR (7 downto 0);
signal dx : STD_LOGIC_VECTOR (7 downto 0);
begin
process(clk)----应该把PROCESS内所有的输入端口都填到括号内
begin
if(clk'event and clk='1')then
a1<=in1_r;
b1<=in1_i;
a<=c&a1; ----c&a1总共为8位 所以上面 a,b都应该为(7 downto 0)
b<=c&b1;
ax<=w_r*in2_r;
bx<=w_i*in2_i;
cx<=w_r*in2_i;
dx<=w_i*in2_r;
out1_r<=a+ax-bx;
out1_i<=b+cx+dx;
out2_r<=a-ax+bx;
out2_i<=b-cx-dx;
end if;
end process;
end butter;
‘伍’ matlab能算出FFT每一级蝶形运算的结果吗
蝶形运算指望有现成的函数是不可能的因为太简单了根本没人写。所以说按照蝶形运算的原理自己写一下就完事了。
‘陆’ 你好,能够麻烦你帮我解析一下FFT 蝶形运算的C程序吗你有完整的实现FFT的C程序吗
用递归应该比较容易写的, 虽然效率差一些
大概思路:
用一个函数做准备:
把数组排列成到位序
计算Wn
对整个数组调用 do_fft函数
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]
}
这样两个函数应该就差不多了
‘柒’ 谁能帮我解释下FPGA上的蝶形运算具体是什
建议你去看一下FFT算法实现过程,懒得复制粘贴了,网络一下就能找到
‘捌’ 为什么FFT基2算法 第一级运算时X(0)和X(4)作为蝶形运算的一组
这个你可以查网络啊,连这种问题都来问吗,有这个时间我都早就查到了呢。。。同学你觉得呢。。是不是好有道理
‘玖’ 怎么理解蝶形运算和FFT以及怎么使用
输出就是频谱
之所以是蝶形运算,
实际上得出的是以2点为周期的幅值
以4点为周期的幅值
以6点为周期的幅值
以8点为周期的幅值
以此类推
‘拾’ 碟形弹簧 计算
GB/T
1972-2005
碟形弹簧
您可以在标准下载网上免费下载这个标准