在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ROM存儲1/4周期正弦信號構(gòu)造DDS詳解

Hx ? 作者:工程師陳翠 ? 2018-07-14 05:57 ? 次閱讀

Matlab仿真

注意:由于采用了1/4周期存儲,要求整個周期的數(shù)值是中心對稱的,半個周期的數(shù)值是軸對稱的。這就意味著采樣點中不應(yīng)該有0值得存在。

Matlab仿真——ROM表存儲數(shù)據(jù)

%% ROM產(chǎn)生 (無符號數(shù))

ROM_N=2^10; %ROM表深度

DATA_L=14; %ROM位寬

t=1:ROM_N;

y=(2^DATA_L-1)*(sin(2*pi*(t-0.5)/ROM_N/4));%-0.5保證對稱性

ROM_DATA=round(y);

Matlab仿真——DDS程序(請原諒我沒有用case……)

%% 正弦波dds產(chǎn)生

F_CLK=10*10^6; %時鐘頻率10M

PINC_IN_L=32; %增量長度

DDS_CLK=10*10^3; %dds輸出頻率10k

PHASE_IN=0; %初始相位

pinc=round(DDS_CLK*2^PINC_IN_L/F_CLK); %相位增量

SIM_L=4000; %仿真長度

phase=PHASE_IN+pinc*(0:SIM_L-1);

addr=mod((floor(phase/2^PINC_IN_L*ROM_N)),ROM_N*4);

flag=floor(addr/ROM_N);

dds_out=1:SIM_L;

for i=1:SIM_L

if(flag(i)==0)

dds_out(i)=ROM_DATA(addr(i)+1);

else if(flag(i)==1)

dds_out(i)=ROM_DATA(2047-addr(i)+1);

else if(flag(i)==2)

dds_out(i)=-ROM_DATA(addr(i)-2048+1);

else

dds_out(i)=-ROM_DATA(4095-addr(i)+1);

end

end

end

end

plot(dds_out);

3.DDS的解釋

Xilinx的DDS核的User Guide中隊DDS做了很詳細的說明,本節(jié)不再重復(fù)此內(nèi)容,本節(jié)將敘述一種全新的DDS理解方式。這種理解方式解決了頻率控制字長于ROM表深度時DDS的理解上的問題。

連續(xù)還是離散?

連續(xù)還是離散,在于我們用什么眼光去看待。如下圖所示,我們可以理解藍色的圖是離散的,而紅色的線是連續(xù)的。然而,對于我們要獲取的信息而言,這兩幅圖是完全沒有區(qū)別的。抽樣定理中有理想抽樣和平頂抽樣(采樣保持電路)之分,然而在頻域效果上,是并沒有很大區(qū)別的。

ROM存儲1/4周期正弦信號構(gòu)造DDS詳解

ROM表存儲的是連續(xù)的數(shù)值

按照上面的理論,可以認為ROM表中存儲的是正弦信號的平頂采樣結(jié)果。如下圖所示(一個全周期的ROM表,對稱性滿足1/4周期存儲的要求)

ROM存儲1/4周期正弦信號構(gòu)造DDS詳解

上圖的頻譜在信號與系統(tǒng)中有提及,上述波形的形成方式可以認為是在乘以周期為T的沖擊函數(shù),之后卷積一個寬度為T的窗函數(shù)。對應(yīng)可以求得其頻域。(具體可參考平頂抽樣)

頻率控制字

頻率控制字控制對上述的階梯函數(shù)的采樣,如果這樣理解的話,就沒有所謂的相位截取取ROM表的值的疑惑了。頻譜圖能夠清晰的表現(xiàn)這一過程,然而由于blog表達不便,此處不做詳細說明。

此處能夠解釋DDS產(chǎn)生的雜散。

4.Verilog實現(xiàn)

老師教導(dǎo)我們,Verilog和Matlab代碼應(yīng)該是完全一致的,也就是說程序的思路,命名是一樣的。但是下面的程序沒有做到一致性……

`timescale 1ns / 1ps

module DDS_10k(

input clk_10M,

input rst,

output[13:0] D_SIN,

output[13:0] D_COS

);

parameter pinc=32‘d4294967; //10k

reg[31:0] addr_temp=32’d0;

reg[9:0] addra,addrb;

reg mark_a,mark_b;

always@(posedge(clk_10M)) //復(fù)位

begin

if(rst==0)

addr_temp《=32‘d0;

else

addr_temp《=addr_temp+pinc;

end

always@(posedge(clk_10M)) //1/4周期控制

begin

case(addr_temp[31:30])

2’b00:

begin

addra《=addr_temp[29:20];

mark_a《=0;

addrb《=~addr_temp[29:20];

mark_b《=0;

end

2‘b01:

begin

addra《=~addr_temp[29:20];

mark_a《=0;

addrb《=addr_temp[29:20];

mark_b《=1;

end

2’b10:

begin

addra《=addr_temp[29:20];

mark_a《=1;

addrb《=~addr_temp[29:20];

mark_b《=1;

end

2‘b11:

begin

addra《=~addr_temp[29:20];

mark_a《=1;

addrb《=addr_temp[29:20];

mark_b《=0;

end

endcase

end

//ROM表讀取

ROM_SIN_1k18 rom_dds (

.clka(clk_10M), // input clka

.addra(addra), // input [9 : 0] addra

.douta(D_SIN[12:0]), // output [12 : 0] douta

.clkb(clk_10M), // input clkb

.addrb(addrb), // input [9 : 0] addrb

.doutb(D_COS[12:0]) // output [12 : 0] doutb

);

reg sin_mark_temp;

reg cos_mark_temp;

assign D_SIN[13]=sin_mark_temp;

assign D_COS[13]=cos_mark_temp;

//此處ROM沒有添加register,因此輸出和地址有一個周期的延時,故Mark也要有一周期延時

always@(posedge(clk_10M))

begin

sin_mark_temp《=mark_a;

cos_mark_temp《=mark_b;

end

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ROM
    ROM
    +關(guān)注

    關(guān)注

    4

    文章

    578

    瀏覽量

    87071
  • DDS
    DDS
    +關(guān)注

    關(guān)注

    22

    文章

    671

    瀏覽量

    154113
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    新型DDS器件產(chǎn)生正弦信號和各種調(diào)制信號的設(shè)計

    設(shè)計了一種采用新型DDS器件產(chǎn)生正弦信號和各種調(diào)制信號的設(shè)計方法。采用該方法設(shè)計的正弦信號發(fā)生
    發(fā)表于 01-10 11:34 ?7188次閱讀
    新型<b class='flag-5'>DDS</b>器件產(chǎn)生<b class='flag-5'>正弦</b>波<b class='flag-5'>信號</b>和各種調(diào)制<b class='flag-5'>信號</b>的設(shè)計

    DDS正弦信號發(fā)生器

    ,所起到的作用就是對基準時鐘進行分頻得到輸出時鐘,且有:DDS的頻率分辨率為: ,即此時=1,輸出時鐘頻率最小。DDS的基本工作流程就是通過相位的累加,得到當前的相位值,然后用當前的相位值(轉(zhuǎn)換為
    發(fā)表于 02-23 16:14

    用Verilog通過DDS合成正弦信號

    本帖最后由 藍e 于 2016-7-12 22:32 編輯 用Verilog通過DDS合成正弦信號主要原理:DDS:直接數(shù)字合成,正弦
    發(fā)表于 03-22 23:42

    基于FPGA的三相正弦DDS電路的設(shè)計與實現(xiàn)

    波。其原理圖如圖1所示: 3.正弦波發(fā)生原理及邏輯設(shè)計3.1 正弦函數(shù)表的設(shè)計在傳統(tǒng)正弦函數(shù)ROM 表的設(shè)計中,通常將0 到2π整個
    發(fā)表于 10-18 16:29

    請問有能直接產(chǎn)生特殊波形信號DDS芯片嗎?

    最近在做一個項目,要設(shè)計一個信號源,產(chǎn)生一個加漢寧窗的五周期正弦信號,頻率50KHz,就是上面圖片的這種形式波形。我想求助一下ADI的工程師,或者有經(jīng)驗的高手,ADI有沒有能直接產(chǎn)
    發(fā)表于 12-10 09:58

    基于DDS原理和FPGA技術(shù)的基本信號發(fā)生器設(shè)計

    摘要:本設(shè)計基于DDS原理和FPGA技術(shù)按照順序存儲方式,將對正弦波、方波、三角波、鋸齒波四種波形的取樣數(shù)據(jù)依次全部存儲ROM波形表里,通
    發(fā)表于 06-21 07:10

    淺析DDS信號發(fā)生器

    精細的頻率調(diào)節(jié)。采用這種方法設(shè)計的信號源可工作于調(diào)制狀態(tài),可對輸出電平進行調(diào)節(jié),也可輸出各種波形。一個完整周期的函數(shù)波形被存儲在上面所示的存儲器查找表中。相位累加器跟蹤輸出函數(shù)的電流相
    發(fā)表于 08-04 06:09

    正弦周期電路的分析

    正弦周期電路的分析1、非正弦周期函數(shù)的分解及信號的頻譜的理解;2、非
    發(fā)表于 07-08 10:26 ?0次下載

    高精度DDFS信號源FPGA實現(xiàn)

    為進行高精度信號源的設(shè)計,同時降低設(shè)計成本,以Cyclone II系列低端FPGA為核心,利用直接頻率合成技術(shù),對正弦信號等數(shù)據(jù)進行1/4
    發(fā)表于 12-11 15:31 ?33次下載

    正弦周期信號的分解與合成

    正弦周期信號的分解與合成 一、實驗?zāi)康?b class='flag-5'>1.用同時分析法觀測50Hz 非正弦周期
    發(fā)表于 09-24 11:03 ?1.4w次閱讀
    非<b class='flag-5'>正弦</b><b class='flag-5'>周期</b><b class='flag-5'>信號</b>的分解與合成

    正弦周期信號的頻譜分析

    正弦周期信號的頻譜分析 一、 實驗?zāi)康? 1、掌握頻譜儀的基本工作原理與正確使用方法。
    發(fā)表于 05-10 00:23 ?8523次閱讀
    <b class='flag-5'>正弦</b><b class='flag-5'>周期</b><b class='flag-5'>信號</b>的頻譜分析

    正弦周期信號電路的穩(wěn)態(tài)計算

    正弦周期信號電路的穩(wěn)態(tài)計算 對于非正弦周期信號激勵的穩(wěn)態(tài)電路,無法用直流電路或
    發(fā)表于 07-27 10:21 ?3603次閱讀
    非<b class='flag-5'>正弦</b><b class='flag-5'>周期</b><b class='flag-5'>信號</b>電路的穩(wěn)態(tài)計算

    基于FPGA的DDS基本信號發(fā)生器的設(shè)計

    本設(shè)計基于DDS原理和FPGA技術(shù)按照順序存儲方式,將對正弦波、方波、三角波、鋸齒波四種波形的取樣數(shù)據(jù)依次全部存儲ROM波形表里,通過外接
    發(fā)表于 07-12 14:23 ?0次下載
    基于FPGA的<b class='flag-5'>DDS</b>基本<b class='flag-5'>信號</b>發(fā)生器的設(shè)計

    基于ARM與DDS的高精度正弦信號發(fā)生器設(shè)計

    基于ARM與DDS的高精度正弦信號發(fā)生器設(shè)計
    發(fā)表于 01-04 15:02 ?0次下載

    基于FPGA 的DDS正弦信號發(fā)生器的設(shè)計和實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于FPGA 的DDS正弦信號發(fā)生器的設(shè)計和實現(xiàn).pdf》資料免費下載
    發(fā)表于 03-24 09:34 ?10次下載
    主站蜘蛛池模板: 亚洲一卡二卡三卡 | 国产一区二区三区乱码 | 天天干视频在线观看 | 韩国r天堂| 午夜色大片在线观看 | 黄色美女网站在线观看 | 性过程很黄的小说男男 | 午夜视频在线观看一区二区 | 久久久久久国产精品mv | 国产精品一级毛片不收费 | 人人九九精 | 一级视频在线 | 久久香蕉精品视频 | 国模掰开 | 欧美一区二区三区综合色视频 | 高清不卡免费一区二区三区 | 欧美人与动另类在线 | 欧美成人精品一区二区 | 天天欧美 | 亚洲成人免费网站 | 最新天堂网 | 四虎永久在线精品2022 | 自拍你懂的 | 天天操丝袜 | 天天操夜夜夜 | 成人免费午间影院在线观看 | h在线观看网站 | 一区二区三区高清在线观看 | 乱子伦xxx欧美| 久热国产精品 | 天堂最新版免费观看 | 天堂网中文在线 | 东莞a级毛片| 亚洲色图片区 | 国产拍拍拍免费视频网站 | 久久刺激| 日本欧美一区二区三区视频 | 4455四色永久免费 | 午夜大片男女免费观看爽爽爽尤物 | 尤物黄色 | 国产视频一区二区在线观看 |