- 博客(13)
- 资源 (6)
- 收藏
- 关注
原创 ADS的模型添加
. S2P 文件1.在原理图中选择Data Items下的三端口器件S2P2.双击S2P,在FILE NAME中选择S2P文件。注意,需要事先将S2P放在工程文件的data目录下。 S2P是小信号S参数线性模型,所以完整的仿真还需要非线性模型。 .ZAP文件在ADS主文件夹下,选择 FILE->Unarchive Project, 选择.ZAP文件 .zip De
2012-10-11 21:09:14
11191
原创 CORDIC的FPGA实现
输入:I,Q,输出:相位,幅度 CORDIC算法的核心在于利用加减和位移运算(对于FPGA很合适的运算),计算一个矢量的相位和幅度。我们知道FPGA上没有开根号这样的运算,所以如果给定I,Q信号,计算其幅度sqrt(I^2+Q^2),无法直接使用该公式。一个矢量P0旋转一定角度后变为P1,其坐标的关系如下:每一步移动一个角度,角度越小,移位的越大。在N步的计算中,K
2012-04-18 19:32:46
9339
原创 小小的注意点(持续更新)
verilog&quartus1. 使用signed的符号,如将 b[12]和b均是带符号的数时,可以直接赋值,其符号位也会自动变换。2. 做移动运算是要注意移位的对象是否为负值,如果是负值,移位后的结果将不会是“*2^-n”的效果。要想得到这种效果,需要将负数变成正数,移位,再将结果变成负数---------------------------------
2012-04-18 18:41:29
714
原创 将Quartus波形图导入至matlab的方法
1. 波形文件.vwf的仿真报告的页面,选择save section report as,存储为.tbl格式的文件2. 用excel打开该文件,弹出文本导入向导,此时选择固定宽度,点下一步3. 拖动竖线以选择分割数据列的位置,拖动好后选择下一步4. 选择数据类型,在对应列选择,注意要选择文本型或是忽略
2012-04-18 18:35:33
5231
1
原创 信号处理理解及滤波器&窗函数原理
1.时间窗函数要足够宽(栅栏效应)上图所示,两个频率为f1和f2的调幅信号,用fw1和fw2采样频率相同。可以理解为,w1和w2是在时域或频域图的宽度。比如,w1采了100个点,w2为1000个点,w1=10*w2,可以表示更细的点,f1和f2的位置没有变,但细节变了。时间窗函数足够宽,包含了包络整个周期,有了足够的信息量,就能更精确地确定频谱,即采样的点数要足够长。 2.频谱分辨
2012-04-18 00:33:24
5446
原创 关于FFT IP CORE的记忆(altera fft ip core配置)
现成的东西已经很高端了,自己编的怎么也不好,就像别人家的孩子一样。IP CORE有最优化的代码,效率和资源的兼顾,所以君子性非异也,善假于物也。之前实验了很久结果老是不对,费尽了各种周折,最终知道自己的测试方法不对。ip core是根所实际信号优化过的,所以要加以实际信号,如正弦波,而我的思路还停留在教书。展开来说,ip core对于小信号不敏感,比如对于N点fft,输入N个1和输入N个2,结
2012-03-28 16:21:17
11938
4
原创 做好一件事
做一件事情就要有做一件事情的样子,全身心地投入,废寝忘食地考虑。半年很快过去了,没有学到什么东西。抱怨也太多了,也抱怨过了,所以要投入进去,开始认真地做一件事,一件一件地做。未来很远吧,什么时候才能毕业呢。也许现在的生活不是我想要的,但更不想成天无所事事。披着忙人的外衣,自己真正做了多少,成长了多少,离目标还很远。未来在哪里,十年后在哪里,我看不到。看到的是,曾经许下的决定,马上承担的
2012-03-03 00:19:09
608
原创 基2蝶算模块(fft8)
满眼的管脚线看得眼晕,尤其是在测试的时候,才发现测试对象的思考更纠结。对于蝶算模块,其功能是由控制器输出4个控制计数,butter_fly在每一个时钟接收一组数。内部设两级缓存交替存储输入,同时计算出结果按原址存到ram里。如下图所示:对于cmul,每个时钟接收8个数据,异步得出结果。基二的蝶型公式是 A=A+B*Wn, A=A-B*Wn,涉及到小数运算,将小数定标,提高64倍,考虑到
2011-11-18 18:26:22
1928
2
原创 几个基础点(FFT8)
前阵子纠结在c语言的思路里难以自拔,其实硬件电路语言综合了c语言的串行思维,和电路的并行思维。在完全copy c语言时,用到的for语句,在fpga综合时不推荐使用,因为电脑只是很笨地把for里的电路复制了n遍,并没有利用的概念。同理对于functino的调用,调用几次也会直接复制几次电路,这在实际设计中会浪费大量资源。这些基础的东西,却是很重要。自己摸索,慢慢来吧。 逻辑大致理清,下一步要做
2011-11-17 19:54:27
1675
原创 16点基4DIT-FFT实现
C程序的思路大致是理清了,平时不编程,小毛病很多,还好有度娘陪伴,迅速化解。照猫画虎地弄出16点的FFT。这并不是最优化的程序,但为了思路清晰,就姑且这样吧。下一步开始FPGA了吧,日语单词还没背,这周凌乱,应该是每一周都很乱。和上一次的程序思路一样,其中比较烦的一点是4点数据输入会分成实部虚部共8个等式。 关于旋转因子,WNP=e^(-j*2*pi*p/n)=cos(-j*2*pi*
2011-11-04 21:33:21
16515
原创 自制力
玩了一通宵PSP,纠结于一个差点就能打死却怎么也打不死的BOSS,睡到中午12点才起,自制力超差,好吧,以后把小P锁实验室里,回去就不想了。C++好久没用,甚至于要搜hello world程序来回忆,修改了一下午终于实现了8点的fft。原程序里有几处小错误,写那文章的人怎么不多留心一下,差一点点就很不错了,还好不是大错。好了, 接下来应该是64点基4吧,这个基情四射的年代。一切都会变好,比
2011-11-04 17:08:34
593
转载 DIT基2点fft的编程实现
找了很多资料,发现这个最有用,思路简单清晰,结合自己的理解贴出来。彻底弄懂基2点流程之后,基4也就不难。下一次贴出基4FFT编程实现。蝶形公式:X(K) = X’(K) + X’(K+B)W PN , X(K+B) = X’(K) - X’(K+B) W PN 其中W PN= cos(2πP/N)- jsin(2πP/N)。设 X(K+B) = XR(K+B) + jXI(
2011-11-03 12:34:28
4578
原创 出发
一个人摸索,很纠结,不过许许多多的先辈就是这样过来的,也没有什么好抱怨。开始这个技术贴,记录点滴的今天。明天依旧未知,只知道一路埋头前行,不管前方是怎么的风景。
2011-10-24 17:07:23
529
verilog的cordic算法实现
2012-04-18
1024点fft ip core实现
2012-03-28
基于FPGA的CPU VHDL设计
2010-05-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人