国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

FPGA:計(jì)算滑動(dòng)求和----信號(hào)檢測(cè)計(jì)算信號(hào)功率

這篇具有很好參考價(jià)值的文章主要介紹了FPGA:計(jì)算滑動(dòng)求和----信號(hào)檢測(cè)計(jì)算信號(hào)功率。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

FPGA:計(jì)算滑動(dòng)求和----信號(hào)檢測(cè)計(jì)算信號(hào)功率

在進(jìn)行簡(jiǎn)單信號(hào)檢測(cè)過(guò)程中,需要計(jì)算信號(hào)的能量,這時(shí)候需要用到滑動(dòng)求和的計(jì)算過(guò)程。
這里記錄如何利用Verilog編寫滑動(dòng)求和過(guò)程。

思路:滑動(dòng)求和的過(guò)程需要按照滑動(dòng)窗口的大小,依次向后進(jìn)行滑動(dòng)求和;

從任務(wù)出發(fā):輸入IQ兩路信號(hào)的位寬為12位,然后計(jì)算K個(gè)值區(qū)間段的功率值大?。?br> (1) 首先對(duì)I,Q兩路信號(hào)求平方計(jì)算,得到平方的結(jié)果,這時(shí)候位寬大小變?yōu)?4位;
(2) 求I,Q兩路信號(hào)平方和,定義變量sum_s,表示單一點(diǎn)的信號(hào)平方和值,位寬為25位;
(3) 計(jì)算一段時(shí)間的平方和大小,sum=sum+sum_s,做和累加,這里面K的個(gè)數(shù)可以取2的指數(shù)次,方便通過(guò)移位做除法,同時(shí)sum的位寬也容易定義,如K設(shè)置為512,sum位寬取35位;
(4) 通過(guò)fifo實(shí)現(xiàn)活動(dòng)取數(shù)的過(guò)程,前512個(gè)數(shù)據(jù)單獨(dú)累加求和,第513個(gè)數(shù)據(jù)通過(guò)fifo輸出,利用總和減去第一個(gè)數(shù),這里面利用fifo先進(jìn)先出的特性,控制fifo存入K個(gè)數(shù)據(jù)之后,每次取出一個(gè)數(shù)據(jù)之后,再寫入另一個(gè)數(shù)據(jù),這樣就可以滑動(dòng)計(jì)算結(jié)果求和;
(5) 注意設(shè)置fifo輸入位寬為sum_s位寬,fifo輸出為sum_f,表示滑動(dòng)求和的第一個(gè)數(shù)據(jù),fifo深度大小大于K值。

以下為程序代碼:

//
// Company: 
// Engineer: 
// 
// Create Date: 2022/10/24 19:48:05
// Design Name: 
// Module Name: D_energy
// Project Name: 
// Target Devices: 通過(guò)滑動(dòng)求和計(jì)算求信號(hào)功率
// Tool Versions: 
//


module D_energy(
    input l_clk,
    input rst_n,        //低電平有效(復(fù)位)
    input [11:0] i_da,
    input [11:0] q_da,
    output[24:0] d_out,   // 輸出求和平均 (平方和的平均)
    output valid);        // 輸出信號(hào)有效


localparam K_LENGTH = 16'd512;  //設(shè)定滑動(dòng)窗長(zhǎng)度 這個(gè)值一定大于fifo的深度

// 求信號(hào)的平方項(xiàng)
wire [23:0]i_da2,q_da2;
mult12a12 u0 (
  .CLK(l_clk),  // input wire CLK
  .A(i_da),      // input wire [11 : 0] A
  .B(i_da),      // input wire [11 : 0] B
  .P(i_da2)      // output wire [23 : 0] P
);
mult12a12 u1 (
  .CLK(l_clk),  // input wire CLK
  .A(q_da),      // input wire [11 : 0] A
  .B(q_da),      // input wire [11 : 0] B
  .P(q_da2)      // output wire [23 : 0] P
);

reg [34:0]sum;   //用來(lái)計(jì)算累加和
wire [24:0] sum_s;  
wire [24:0] sum_f;  //fifo輸出的結(jié)果,相當(dāng)于第一個(gè)結(jié)果,需要在減法的過(guò)程中減去這個(gè)結(jié)果
assign sum_s = i_da2 + q_da2;  //單次求和

reg [15:0] cnt_sum;  //用來(lái)記錄第一個(gè)累加環(huán)節(jié)
always@(posedge l_clk)begin
    if(!rst_n)begin
        cnt_sum <= 16'b0;
    end
    else begin
        cnt_sum <= cnt_sum + 16'b1;
    end
end
// 計(jì)算前K個(gè)數(shù)據(jù)的和的大小
reg valid_temp;

// 用狀態(tài)機(jī)實(shí)現(xiàn)活動(dòng)輔助
wire fifo_full;
wire fifo_empty;
wire fifo_prog_full;
reg state;
reg rd_valid; //控制讀數(shù)
always@(posedge l_clk)begin
    if(!rst_n)begin
        state <= 1'b0;
        sum <= 35'b0;
        valid_temp <= 1'b0;
        rd_valid <= 1'b0;
    end
    else begin
        case(state)
        1'b0: begin
            sum <= sum + {{10'b0},sum_s};
            if(cnt_sum >= (K_LENGTH-2))begin   //控制著循環(huán)累加的長(zhǎng)度,k+2;
                state <= 1'b1;
            end         
        end
        default: begin
            sum <= sum + sum_s - {{10'b0},sum_f};  //加上最新的數(shù)據(jù),減去最后的數(shù)據(jù)
            valid_temp <= 1'b1;
            rd_valid <= 1'b1;
        end
        endcase
    end
end

//滑動(dòng)相關(guān)利用fifoIP 核實(shí)現(xiàn)滑動(dòng)計(jì)算過(guò)程,
fifo_generator_0 fifo_u0 (
  .clk(l_clk),              // input wire clk
  .srst(!rst_n),            // input wire srst
  .din(sum_s),              // input wire [23 : 0] din
  .wr_en(1'b1),          // input wire wr_en
  .rd_en(rd_valid),          // input wire rd_en
  .dout(sum_f),            // output wire [23 : 0] dout
  .full(fifo_full),            // output wire full
  .empty(fifo_empty),          // output wire empty
  .prog_full(fifo_prog_full)  // output wire prog_full
);

//輸出滑動(dòng)求和取平均的結(jié)果
assign d_out = sum[34:10];
assign valid = valid_temp;

//利用fifo 進(jìn)行
Endmodule

IP核配置簡(jiǎn)單如圖

fpga求iq信號(hào)包絡(luò),FPGA,fpga開(kāi)發(fā)
fpga求iq信號(hào)包絡(luò),FPGA,fpga開(kāi)發(fā)

fpga求iq信號(hào)包絡(luò),FPGA,fpga開(kāi)發(fā)

測(cè)試仿真代碼如下


`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2022/10/25 10:02:58
// Design Name: 
// Module Name: top_tb
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//


module top_tb();

reg l_clk;
reg rst_n;
reg [11:0]i_data,q_data;
wire [24:0] data_out;
wire dout_valid;

//生成輸入到計(jì)算模塊中的數(shù)據(jù),
always@(posedge l_clk)begin
    if(!rst_n)begin
        i_data <= 12'b0;
        q_data <= 12'b0;
    end
    else begin
        i_data <= i_data + 12'b1;
        q_data <= q_data + 12'b1;
    end
end


D_energy D_en(
    .l_clk(l_clk),
    .rst_n(rst_n),
    .i_da(i_data),
    .q_da(q_data),
    .d_out(data_out),   // 輸出求和平均
    .valid(dout_valid));  


initial l_clk = 1;
always #20 l_clk= !l_clk;  //15.625   
always #10 data_in = 16'b100; 
initial begin
    rst_n <= 0;
    #320;
    rst_n <= 1;

    //#50000000;
    #320;
    $stop;
end

endmodule

最終實(shí)驗(yàn)結(jié)果為

fpga求iq信號(hào)包絡(luò),FPGA,fpga開(kāi)發(fā)
在測(cè)試驗(yàn)證的時(shí)候?yàn)榱朔奖悖裬值取為4其中的sum_s 每相鄰的四個(gè)值加和結(jié)果為下一個(gè)時(shí)鐘的sum值。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-679896.html

到了這里,關(guān)于FPGA:計(jì)算滑動(dòng)求和----信號(hào)檢測(cè)計(jì)算信號(hào)功率的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于FPGA的ECG信號(hào)濾波與心率計(jì)算verilog實(shí)現(xiàn),包含testbench

    基于FPGA的ECG信號(hào)濾波與心率計(jì)算verilog實(shí)現(xiàn),包含testbench

    目錄 1.算法運(yùn)行效果圖預(yù)覽 2.算法運(yùn)行軟件版本 3.部分核心程序 4.算法理論概述 4.1 ECG信號(hào)的特點(diǎn)與噪聲 4.2 FPGA在ECG信號(hào)處理中的應(yīng)用 4.3 ECG信號(hào)濾波原理 4.4 心率計(jì)算原理 4.5 FPGA在ECG信號(hào)處理中的優(yōu)勢(shì) 5.算法完整程序工程 其RTL結(jié)構(gòu)如下: vivado2019.2 ? ? ? ? ?心電圖(ECG)是

    2024年02月20日
    瀏覽(23)
  • 【FPGA】跨時(shí)鐘域問(wèn)題(二)(單bit信號(hào)跨時(shí)鐘域 1. 電平同步器 2. 邊沿同步器 3. 脈沖檢測(cè)器)

    【FPGA】跨時(shí)鐘域問(wèn)題(二)(單bit信號(hào)跨時(shí)鐘域 1. 電平同步器 2. 邊沿同步器 3. 脈沖檢測(cè)器)

    作者:安靜到無(wú)聲 個(gè)人主頁(yè) 作者簡(jiǎn)介:人工智能和硬件設(shè)計(jì)博士生、CSDN與阿里云開(kāi)發(fā)者博客專家,多項(xiàng)比賽獲獎(jiǎng)?wù)?,發(fā)表SCI論文多篇。 Thanks?(?ω?)? 如果覺(jué)得文章不錯(cuò)或能幫助到你學(xué)習(xí),可以點(diǎn)贊??收藏??評(píng)論??+關(guān)注哦! o( ̄▽ ̄)d ?(°?‵?′??)希望在傳播知

    2024年02月16日
    瀏覽(42)
  • 什么是IQ信號(hào), IQ調(diào)制又是怎么回事?

    什么是IQ信號(hào), IQ調(diào)制又是怎么回事?

    在現(xiàn)代無(wú)線通信中,IQ調(diào)制屬于標(biāo)準(zhǔn)配置,經(jīng)常應(yīng)用于通信系統(tǒng)的信號(hào)調(diào)制和解調(diào)環(huán)節(jié)。IQ調(diào)制的應(yīng)用簡(jiǎn)化了通信設(shè)備的硬件結(jié)構(gòu),同時(shí)提高了頻譜資源的利用效率,提高了信號(hào)傳輸?shù)姆€(wěn)定性。 讓我們先來(lái)看看什么是IQ信號(hào)? IQ信號(hào)又稱同向正交信號(hào),I為in-phase(同相),Q為

    2024年01月22日
    瀏覽(15)
  • LabVIEW FPGA開(kāi)發(fā)實(shí)時(shí)滑動(dòng)摩擦系統(tǒng)

    LabVIEW FPGA開(kāi)發(fā)實(shí)時(shí)滑動(dòng)摩擦系統(tǒng)

    LabVIEW?FPGA開(kāi)發(fā)實(shí)時(shí)滑動(dòng)摩擦系統(tǒng) 由于非線性摩擦效應(yīng)的建模和補(bǔ)償?shù)墓逃欣щy,摩擦系統(tǒng)的運(yùn)動(dòng)控制已被廣泛研究。最近,人們更加關(guān)注滑動(dòng)動(dòng)力學(xué)和滑動(dòng)定位,作為傳統(tǒng)機(jī)器人定位的低成本和更靈活的驅(qū)動(dòng)替代方案。摩擦控制器設(shè)計(jì)和適當(dāng)選擇基礎(chǔ)摩擦模型的問(wèn)題很重要

    2024年02月12日
    瀏覽(25)
  • 【FPGA】分享一些FPGA高速信號(hào)處理相關(guān)的書籍

    【FPGA】分享一些FPGA高速信號(hào)處理相關(guān)的書籍

    ? 在做FPGA工程師的這些年,買過(guò)好多書,也看過(guò)好多書,分享一下。 ? ? ? ? 后續(xù)會(huì)慢慢的補(bǔ)充書評(píng)。 【FPGA】分享一些FPGA入門學(xué)習(xí)的書籍 【FPGA】分享一些FPGA協(xié)同MATLAB開(kāi)發(fā)的書籍? 【FPGA】分享一些FPGA視頻圖像處理相關(guān)的書籍? 【FPGA】分享一些FPGA高速信號(hào)處理相關(guān)的書籍

    2024年02月04日
    瀏覽(29)
  • 時(shí)鐘信號(hào)設(shè)計(jì)基礎(chǔ)——FPGA

    時(shí)鐘信號(hào)設(shè)計(jì)基礎(chǔ)——FPGA

    目錄/ contents ● 時(shí)鐘信號(hào)設(shè)計(jì)概述 ● 時(shí)鐘信號(hào)屬性特征 ● 常見(jiàn)時(shí)鐘信號(hào)概念 ● 時(shí)鐘信號(hào)設(shè)計(jì)要點(diǎn) 01——時(shí)鐘信號(hào)設(shè)計(jì)概述 時(shí)鐘信號(hào)作為數(shù)字電路系統(tǒng)的“心臟”,始終伴隨著數(shù)字電路信號(hào)的變化,在數(shù)字電路設(shè)計(jì)中具有重要意義。數(shù)字電路通常被劃分為組合邏輯與時(shí)序邏

    2024年02月04日
    瀏覽(14)
  • FPGA 音頻信號(hào)處理

    第八屆集創(chuàng)賽杯賽題目——紫光同創(chuàng)杯 - 全國(guó)大學(xué)生集成電路創(chuàng)新創(chuàng)業(yè)大賽 題目任務(wù)要求:采集信號(hào)、降噪、識(shí)別、視頻展示。 硬件:麥克風(fēng)、揚(yáng)聲器、FPGA(盤古50)、HDMI顯示器 軟件:紫光同創(chuàng)PDS(用于部署)、anaconda、jupyter(用于部署訓(xùn)練網(wǎng)絡(luò)) 1.麥克風(fēng)采集好數(shù)據(jù)經(jīng)過(guò)

    2024年03月14日
    瀏覽(39)
  • 《FPGA數(shù)字信號(hào)處理》基于FPGA的32點(diǎn)并行FFT/IFFT設(shè)計(jì)

    《FPGA數(shù)字信號(hào)處理》基于FPGA的32點(diǎn)并行FFT/IFFT設(shè)計(jì)

    本人FPGA小白,只關(guān)注FPGA具體功能實(shí)現(xiàn)。如以下描述有誤,望評(píng)論區(qū)指正!以下內(nèi)容,純手打,嚴(yán)禁未經(jīng)過(guò)同意擅自轉(zhuǎn)載,謝謝! 相比于基2算法,基4算法對(duì)本設(shè)計(jì)(32點(diǎn)FFT)運(yùn)算的復(fù)雜度并沒(méi)有顯著的降低。 基2按時(shí)間抽取的FFT蝶形運(yùn)算如下圖所示: 可以發(fā)現(xiàn)輸入端與輸出端

    2024年04月23日
    瀏覽(38)
  • 基于FPGA的信號(hào)發(fā)生器(四)

    基于FPGA的信號(hào)發(fā)生器(四)

    ???? 基于FPGA的信號(hào)發(fā)生器的硬件電路通常需要以下組件: FPGA芯片:FPGA芯片是這個(gè)電路的核心部件,用于實(shí)現(xiàn)信號(hào)生成算法和控制邏輯。選擇合適規(guī)模的FPGA芯片以滿足你的信號(hào)發(fā)生器的性能和功能需求。 時(shí)鐘源:信號(hào)發(fā)生器需要一個(gè)穩(wěn)定的時(shí)鐘源,以確定信號(hào)的頻率和采

    2024年04月14日
    瀏覽(20)
  • 基于FPGA的FM信號(hào)解調(diào)

    基于FPGA的FM信號(hào)解調(diào)

    這是本人第一次寫博客,寫的不好請(qǐng)多多擔(dān)待。 本次實(shí)驗(yàn)是將一個(gè)已知的FM信號(hào)通過(guò)FPGA進(jìn)行解調(diào),解調(diào)出波形并進(jìn)行FFT得到調(diào)制頻率fm,并且每一步都通過(guò)MATLAB進(jìn)行波形的驗(yàn)證。 已知FM信號(hào)的載波頻率fc為22MHZ,調(diào)制信號(hào)頻率fm為8KHZ,采樣率為50MHZ,在MATLAB中采樣20000個(gè)點(diǎn),位

    2023年04月15日
    瀏覽(11)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包