Electronics 板


LINE

※ 引述《Faberge (就好像 可以拧出泪水一样)》之铭言: : ※ 引述《MasterChang (我爱ASM)》之铭言: : : F(x) = sin(2*pi*f*t) : : f是你想产生的频率,t是时间,通常f*t就是你的sin table的 : : index,不过F(x)会在-1到1间变化,对数位讯号不太匹配。 : : 假设你的数位输出/入是8 bits,那就把信号调整在0~255间变 : : 化那中心就是127.5 : : F(x) = 127.5*sin(2*pi*f*t)+127.5 ,用这去建sin table, : : 得到的值四舍五入变成整数。 : : 比如说你的table长度是1000点,每次输出的时间间隔是1us, : : 那一个波的周期就是1ms,频率就是1K ,这个应该用心算就算 : : 了出来了...XD x(t) = sin(2*pi*f*t) t = n*Ts = n/fs => x[n] = sin(2*pi*f*n*Ts) = sin(2*pi*f/fs*n), n=0,1,2,... 基本上 f 是想输出的频率, fs 则是取样率, 当然还得符合取样定理 所以在你下面的程式里面 i 就是式子里的 f/fs 也可以说是你 table 的 phase : : 我是用Excel这类帮你算,听说有些IDE很厉害有这类建表的工具... : : 1.这要看你用的模拟软体。 : : 2.如果你是用FPGA,最好直接在硬体上验证。 以前小弟我都是用 MATLAB 来建 table, 例如 x = 2^9 * round( sin(2*pi*f/fs.*[0:N-1]) ); : 自己来回答自己一下 经过MasterChang的指点以後我用EXCEL做了一个Sine Wave的ROM : 然後再加上一个CLK去控制他的输入时间 : 把Sine的值向上拉成0~2之间的旋波 在乘上2^9倍 顺便把这个值round : 变成一个10bit的integer讯号 之後只要调整自己的输入时间 : 就可以让input的时间跟他的时间频率不同 造成不同的sampling value : 但是缺点是他不能算我在bit与bit之间的值 所以要用倍数频率来sampling : 模型如下 : module rom (data_out, clock); : input clock; : output [15:0] data_out; : reg [15:0] data_out; : integer [9:0] i; : initial : begin i=0; end : always @ (posedge clock) : begin : case (i) : 9'd0 : begin data_out = 512; i=i+1; end : 9'd1 : begin data_out = 521; i=i+1; end : 9'd2 : begin data_out = 530; i=i+1; end : 9'd3 : begin data_out = 539; i=i+1; end : 9'd4 : begin data_out = 548; i=i+1; end : : : : : : : 9'd356 : begin data_out = 476; i=i+1; end : 9'd357 : begin data_out = 485; i=i+1; end : 9'd358 : begin data_out = 494; i=i+1; end : 9'd359 : begin data_out = 503; i=0; end : endcase : end : endmodule : 实在是一个很土法炼钢的方法,但是可以保证在输出的时候会得到顺利的Sine Wave波形 不是很懂你的 "只要调整自己的输入时间 就可以让input的时间跟他的时间频率不同 造成不同的sampling value" 提供一点小小浅见, 有错请鞭小力点 ^^" 把程式内部的 i 改为当作你的 input phase 这样在程式外部只需控制好 phase 就可以改变你的输出频率 : 我有在网路上看到用演算法去求出两个整数角度之间的值,如果成功的话再丢上来做参考 : 现在想另外请问的是 小弟用的是VCS6.0.1的软体 还有VerSim可以看每个时间的状态 : 但是很想把输出的值对到excel上 : 不知道有没有这样的指令可以让小弟做到输出成excel的指令? : 又要麻烦各位前辈了! 肛温啊!! orz! 输入角度求出三角函数的方法, 可以找找 CORDIC 演算法 (他不只可以求三角函数 @@) 另外, verilog 有提供 text I/O 的 function... 提供参考 至於输出成 excel 小弟就不是很了了 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.162.77.59







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS 或 站内搜寻

TOP