自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

General的专栏

我在彼岸

  • 博客(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 10518

原创 CORDIC的FPGA实现

输入:I,Q,输出:相位,幅度 CORDIC算法的核心在于利用加减和位移运算(对于FPGA很合适的运算),计算一个矢量的相位和幅度。我们知道FPGA上没有开根号这样的运算,所以如果给定I,Q信号,计算其幅度sqrt(I^2+Q^2),无法直接使用该公式。一个矢量P0旋转一定角度后变为P1,其坐标的关系如下:每一步移动一个角度,角度越小,移位的越大。在N步的计算中,K

2012-04-18 19:32:46 9127 2

原创 小小的注意点(持续更新)

verilog&quartus1.      使用signed的符号,如将 b[12]和b均是带符号的数时,可以直接赋值,其符号位也会自动变换。2.      做移动运算是要注意移位的对象是否为负值,如果是负值,移位后的结果将不会是“*2^-n”的效果。要想得到这种效果,需要将负数变成正数,移位,再将结果变成负数---------------------------------

2012-04-18 18:41:29 682

原创 将Quartus波形图导入至matlab的方法

1.          波形文件.vwf的仿真报告的页面,选择save section report as,存储为.tbl格式的文件2.           用excel打开该文件,弹出文本导入向导,此时选择固定宽度,点下一步3.           拖动竖线以选择分割数据列的位置,拖动好后选择下一步4.           选择数据类型,在对应列选择,注意要选择文本型或是忽略

2012-04-18 18:35:33 5077 2

原创 信号处理理解及滤波器&窗函数原理

1.时间窗函数要足够宽(栅栏效应)上图所示,两个频率为f1和f2的调幅信号,用fw1和fw2采样频率相同。可以理解为,w1和w2是在时域或频域图的宽度。比如,w1采了100个点,w2为1000个点,w1=10*w2,可以表示更细的点,f1和f2的位置没有变,但细节变了。时间窗函数足够宽,包含了包络整个周期,有了足够的信息量,就能更精确地确定频谱,即采样的点数要足够长。 2.频谱分辨

2012-04-18 00:33:24 5276 1

原创 关于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 11851 19

原创 做好一件事

做一件事情就要有做一件事情的样子,全身心地投入,废寝忘食地考虑。半年很快过去了,没有学到什么东西。抱怨也太多了,也抱怨过了,所以要投入进去,开始认真地做一件事,一件一件地做。未来很远吧,什么时候才能毕业呢。也许现在的生活不是我想要的,但更不想成天无所事事。披着忙人的外衣,自己真正做了多少,成长了多少,离目标还很远。未来在哪里,十年后在哪里,我看不到。看到的是,曾经许下的决定,马上承担的

2012-03-03 00:19:09 568

原创 基2蝶算模块(fft8)

满眼的管脚线看得眼晕,尤其是在测试的时候,才发现测试对象的思考更纠结。对于蝶算模块,其功能是由控制器输出4个控制计数,butter_fly在每一个时钟接收一组数。内部设两级缓存交替存储输入,同时计算出结果按原址存到ram里。如下图所示:对于cmul,每个时钟接收8个数据,异步得出结果。基二的蝶型公式是 A=A+B*Wn, A=A-B*Wn,涉及到小数运算,将小数定标,提高64倍,考虑到

2011-11-18 18:26:22 1830 2

原创 几个基础点(FFT8)

前阵子纠结在c语言的思路里难以自拔,其实硬件电路语言综合了c语言的串行思维,和电路的并行思维。在完全copy c语言时,用到的for语句,在fpga综合时不推荐使用,因为电脑只是很笨地把for里的电路复制了n遍,并没有利用的概念。同理对于functino的调用,调用几次也会直接复制几次电路,这在实际设计中会浪费大量资源。这些基础的东西,却是很重要。自己摸索,慢慢来吧。 逻辑大致理清,下一步要做

2011-11-17 19:54:27 1609

原创 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 13638 2

原创 自制力

玩了一通宵PSP,纠结于一个差点就能打死却怎么也打不死的BOSS,睡到中午12点才起,自制力超差,好吧,以后把小P锁实验室里,回去就不想了。C++好久没用,甚至于要搜hello world程序来回忆,修改了一下午终于实现了8点的fft。原程序里有几处小错误,写那文章的人怎么不多留心一下,差一点点就很不错了,还好不是大错。好了, 接下来应该是64点基4吧,这个基情四射的年代。一切都会变好,比

2011-11-04 17:08:34 558

转载 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 4440

原创 出发

一个人摸索,很纠结,不过许许多多的先辈就是这样过来的,也没有什么好抱怨。开始这个技术贴,记录点滴的今天。明天依旧未知,只知道一路埋头前行,不管前方是怎么的风景。

2011-10-24 17:07:23 490

verilog的cordic算法实现

1.基于FPGA的cordic算法程序,输出IQ信号的幅度及相位 2.精度较高,相位精度为2/9000,幅度精度为1/1000。其中相伴扩大了100倍,幅度扩大了1.6倍。

2012-04-18

1024点fft ip core实现

包含matlab和quartus文件,12位1024点streaming方式的fft。使用matlab产生时域信号给rom,由rom给Ipcore提供输入。

2012-03-28

8点基2DIT-FFT程序(c++)

已通过编译,程序有注释,有助于理解FFT流程。

2011-11-05

16点基4dit-fft程序(c++)

自己写的基4FFT,主要是了解fft编程思想,实验结果正确。在此基础可以扩展到64,256点等的基4FFT。

2011-11-05

基于FPGA的CPU VHDL设计

William Stallings的计算机结构中的CPU设计,体现微指令与微操作思想。可以实现四则运算,分支跳转,逻辑运算等常见功能。包含各个模块的VHDL文件,总元件图,实验报告(Chinglish...),波形仿真等。使用时请自行重新例化元件。

2010-05-17

基于fpga电琴的完型工程文件

该文件为工程文件,包含所有代码,模块与仿真,输入为四个音阶七个音程,输出有5个分频及七段译码管的信号(若要使用需要自行编写刷屏代码)

2009-11-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除