主頁 >  其他 > 數字下變頻 DDC

數字下變頻 DDC

2020-12-22 13:33:33 其他

1.DDC(Direct Digital Controller)

? DDC即在數字系統中對信號進行下變頻,實作從射頻(中頻)信號到基帶信號的轉變,模擬上下變頻的系統框圖如下:

在這里插入圖片描述

對于QAM等調制信號,通常有同相和正交兩路基帶信號,對應正弦和余弦兩路同頻載波,其模擬上下變頻的系統框圖如下:

在這里插入圖片描述

上圖描述的程序可用的數學表達如下:
s ( t ) = I ( t ) cos ? ( 2 π f c t ) ? Q ( t ) sin ? ( 2 π f c t ) I 路 : s ( t ) cos ? ( 2 π f c t ) = I ( t ) cos ? 2 ( 2 π f c t ) ? Q ( t ) cos ? ( 2 π f c t ) sin ? ( 2 π f c t ) = I ( t ) 1 + cos ? ( 2 π ? 2 f c t ) 2 ? Q ( t ) sin ? ( 2 π 2 ? f c t ) 2 = = L P F I ( t ) 2 Q 路 : s ( t ) ( ? sin ? ( 2 π f c t ) ) = I ( t ) cos ? ( 2 π f c t ) sin ? ( 2 π f c t ) + Q ( t ) sin ? 2 ( 2 π f c t ) = I ( t ) sin ? ( 2 π 2 ? f c t ) 2 + Q ( t ) 1 ? cos ? ( 2 π ? 2 f c t ) 2 = = L P F Q ( t ) 2 s(t)=I(t)\cos(2\pi f_ct)-Q(t)\sin(2\pi f_ct)\\ I路:s(t)\cos(2\pi f_ct)=I(t)\cos^2(2\pi f_ct)-Q(t)\cos(2\pi f_ct)\sin(2\pi f_ct)\\=I(t)\frac{1+\cos (2\pi*2f_ct)}{2}-Q(t)\frac{\sin(2\pi 2*f_ct)}{2}\overset{LPF}{==}\frac{I(t)}{2}\\ Q路:s(t)(-\sin(2\pi f_ct))=I(t)\cos(2\pi f_ct) \sin (2\pi f_ct)+Q(t)\sin^2(2\pi f_ct)\\=I(t)\frac{\sin(2\pi 2*f_ct)}{2}+Q(t)\frac{1-\cos (2\pi*2f_ct)}{2}\overset{LPF}{==}\frac{Q(t)}{2} s(t)=I(t)cos(2πfc?t)?Q(t)sin(2πfc?t)Is(t)cos(2πfc?t)=I(t)cos2(2πfc?t)?Q(t)cos(2πfc?t)sin(2πfc?t)=I(t)21+cos(2π?2fc?t)??Q(t)2sin(2π2?fc?t)?==LPF2I(t)?Qs(t)(?sin(2πfc?t))=I(t)cos(2πfc?t)sin(2πfc?t)+Q(t)sin2(2πfc?t)=I(t)2sin(2π2?fc?t)?+Q(t)21?cos(2π?2fc?t)?==LPF2Q(t)?
若使用復信號表述該程序,則有:
在這里插入圖片描述

上述程序的數學表達如下:
s ( t ) = ( I + j Q ) e j 2 π f c t = ( I + j Q ) ( cos ? ( 2 π f c t ) + j sin ? ( 2 π f c t ) ) = I cos ? ( 2 π f c t ) + j I sin ? ( 2 π f c t ) + j Q cos ? ( 2 π f c t ) ? Q sin ? ( 2 π f c t ) 取 其 實 部 , 則 有 s t x ( t ) = I cos ? ( 2 π f c t ) ? Q sin ? ( 2 π f c t ) 恢 復 過 程 : s t x ( t ) e ? j 2 π f c t = ( I cos ? ( 2 π f c t ) ? Q sin ? ( 2 π f c t ) ) ( cos ? ( 2 π f c t ) ? j sin ? ( 2 π f c t ) ) = I ( cos ? 2 ( 2 π f c t ) ) ? j I ( cos ? ( 2 π f c t ) sin ? ( 2 π f c t ) ) ? Q ( sin ? ( 2 π f c t ) cos ? ( 2 π f c t ) ) + j Q ( sin ? 2 ( 2 π f c t ) ) = I 1 + cos ? ( 2 π 2 ? f c t ) 2 ? j I sin ? ( 2 π 2 ? f c t ) 2 ? Q sin ? ( 2 π 2 ? f c t ) 2 + j Q 1 ? cos ? ( 2 π 2 ? f c t ) 2 = = L P F I + j Q s(t)=(I+jQ)e^{j2\pi f_ct}=(I+jQ)(\cos(2\pi f_ct)+j\sin(2\pi f_ct))\\=I\cos(2\pi f_ct)+jI\sin(2\pi f_ct)+jQ\cos(2\pi f_ct)-Q\sin(2\pi f_ct)\\取其實部,則有s_{tx}(t)=I\cos(2\pi f_ct)-Q\sin(2\pi f_ct)\\恢復程序:s_{tx}(t)e^{-j2\pi f_ct}=(I\cos(2\pi f_ct)-Q\sin(2\pi f_ct))(\cos(2\pi f_ct)-j\sin(2\pi f_ct))\\=I(\cos^2(2\pi f_c t))-jI(\cos(2\pi f_ct)\sin(2\pi f_ct))-Q(\sin(2\pi f_ct)\cos(2\pi f_ct))+jQ(\sin^2(2\pi f_ct))\\=I\frac{1+\cos(2\pi 2*f_c t)}{2}-jI\frac{\sin(2\pi 2*f_c t)}{2}-Q\frac{\sin(2\pi 2*f_c t)}{2}+jQ\frac{1-\cos(2\pi 2*f_c t)}{2}\overset{LPF}{==}I+jQ s(t)=(I+jQ)ej2πfc?t=(I+jQ)(cos(2πfc?t)+jsin(2πfc?t))=Icos(2πfc?t)+jIsin(2πfc?t)+jQcos(2πfc?t)?Qsin(2πfc?t)stx?(t)=Icos(2πfc?t)?Qsin(2πfc?t):stx?(t)e?j2πfc?t=(Icos(2πfc?t)?Qsin(2πfc?t))(cos(2πfc?t)?jsin(2πfc?t))=I(cos2(2πfc?t))?jI(cos(2πfc?t)sin(2πfc?t))?Q(sin(2πfc?t)cos(2πfc?t))+jQ(sin2(2πfc?t))=I21+cos(2π2?fc?t)??jI2sin(2π2?fc?t)??Q2sin(2π2?fc?t)?+jQ21?cos(2π2?fc?t)?==LPFI+jQ
為什么使用復信號?

復信號的引入已有幾十年的歷史,無線通信中,往往使用一對正交的信號傳輸資訊,以提高帶寬利用率,有效的減少帶內和帶外干擾,為了簡單明了的描述這對信號,這些系統常被描述為一個復信號,系統的傳遞函式也用復數描述,使用復信號的好處有:

it often allows for image-reject architectures to be described more compactly and simply; it leads to a graphical or signal-flflow graph (SFG) description of signal-processing systems providing insight, and it often leads to the development of new systems where the use of high-frequency highly selective image-reject fifilters is minimized. The result is more highly integrated systems using less power and requiring less physical space[1].

即,使用復信號可以使得消除鏡像頻譜的結構的描述變得更簡潔;使得描述信號處理系統的信號流圖變得更為直觀;在開發新系統時,減少高頻高選擇性的鏡頻濾波器的使用;最終使得系統的集成度更高,有更小的體積和更少的功耗,

但該論文的題目《Complex Signal Processing is Not Complex》[1]亦指出,復信號的處理并不是復數(復雜)的,在論文中,作者給每一幅復數信號流圖都配上了對應的等價實數信號流圖,如下:

在這里插入圖片描述

在實際處理中,還是使用實數信號流圖對應的物理結構,如ADI公司在一個回復當利用ADC內部數字下變頻(DDC)處理進行抽取時,我的單音實數輸入信號丟失了6 dB功率的問題時中提及的處理框圖如下:

在這里插入圖片描述

帶通信號經過帶通采樣,再經DDC變換到基帶的MATLAB代碼如下:

`

clear;
close all;
clc;

f  = 115e6; %中頻125MHz,則f0 = 115MHz 115-135MHz
t_p = 50e-6; %脈寬50us
b = 20e6; %帶寬20MHz
beta = b/t_p; %調頻斜率
f_s =100e6;  %采樣率 100MHz
f_l = 25e6;     %NCO 25MHz
t = 0: 1/f_s:16383/f_s;

 NCO = exp(-1i.*2.*pi.*f_l.*t); %復本振
 figure;plot3(t(1:200),real(NCO(1:200)),imag(NCO(1:200)));title('復本振時域波形');xlabel('時間');ylabel('實部');zlabel('虛部');
 fft_plot(NCO,f_s,'復本振信號');  
G = rectpuls(t-t_p/2,t_p);
chrip_bs = G.*exp(1i.*pi.*beta.*t.^2); %發送的復基帶信號
IF  = exp(1i.*2.*pi.*f.*t);   %復中頻載波
chrip = chrip_bs.*IF;
fft_plot(chrip,f_s,'待發射復基帶信號');  %復信號頻譜
chrip_tx = real(chrip);  %發射中頻的實部,也是ADC采集進入進行下變頻的信號
fft_plot(chrip_tx,f_s,'發射實信號'); %ADC采集的信號的頻譜
chrip_LO = chrip_tx.*NCO;
fft_plot((chrip_LO),f_s,'乘以復本振后信號'); %乘以復本振后信號頻譜
[b,a] = fir1(50,15e6*2/f_s);
 [H,W] = freqz(b,a);
 Hf=abs(H);  %取幅度值實部
Hx=angle(H);  %取相位值對應相位角
figure;
plot(W,20*log(Hf))  %幅值變換為分貝單位
title('濾波器系統幅頻特性曲線')
figure;
plot(W,Hx)
title('濾波器系統相頻特性曲線')
chrip_b = filter(b,a,chrip_LO);
fft_plot((chrip_b),f_s,'低通濾波后信號'); 
chrip_fake_d = fake_decimation(chrip_b,4); %假4倍抽取
fft_plot((chrip_fake_d),f_s,'假的4倍抽取后信號'); 
chrip_bD = resample(chrip_b,f_s/2,f_s);%信號降采樣以降低資料率
fft_plot((chrip_bD),f_s/4,'4倍抽取后信號'); 
figure;
plot(t(1:2:4000),real(chrip_bD(1:2000)));
title('I');xlabel('時間');
figure;
plot(t(1:2:4000),imag(chrip_bD(1:2000)));
title('Q');xlabel('時間');


%% 虛假的抽取,只是隔位置零,采樣率不變,以獲取周期延拓
%% input:x,待抽取信號;n,抽取倍數
%% output: 抽取后信號
function yn=  fake_decimation(x,n)
    yn = zeros(1,length(x));
    for i = 1 : length(x)
        if mod(i,n)== 1
         yn(i) = x(i);
        else
            x(i) = 0;
        end
    end
end
%% 對信號做FFT,并畫圖
%% input: y,待分析信號;fs,采樣率;s_name,信號名字
function fft_plot(y,fs,s_name)
    L_i = length(y)*2;
    s_i_fft = fft(y,L_i);
    s_i_fftshfit = fftshift(s_i_fft);
    P = abs(s_i_fftshfit/L_i);
    fshift = (-L_i/2:L_i/2-1)*(fs/L_i);
    figure;
    plot(fshift,P);
    title([s_name,'的雙邊譜 ']);
    xlabel('f (Hz)');
    ylabel('|P(f)|');
end

信號處理程序中的頻譜如下:

在這里插入圖片描述

只有正頻率
在這里插入圖片描述

發射時只有取實部,實信號有對稱的雙邊譜
在這里插入圖片描述

乘以復本振,被單向搬移(由于是帶通采樣,有頻譜周期延拓,且FFT僅能繪制[-Fs/2,Fs/2]區間的頻譜)
在這里插入圖片描述

低通濾波,取基帶部分信號
在這里插入圖片描述

4倍抽取的中間程序

在這里插入圖片描述

4倍抽取,以降低后續資料量

在這里插入圖片描述

I路基帶信號時域
在這里插入圖片描述

Q路基帶時域

FPGA處理流程,及波形

FPGA實作程序基于實數形式的信號流圖,主要涉及到DDS產生兩路正交本振,ROM存盤待下變頻信號,乘法模塊,FIR濾波,時域抽取等,大部分有現成IP核可供呼叫,

代碼:

module DDC(
	  input clk,
	  input en,
	  input rst,
	  output [55:0] i_d4,
	  output [55:0] q_d4,
	  output [55:0] i_data,
	  output [55:0] q_data,
	  output [15:0] sin,
	  output [15:0] cos,
	  output [15:0] LFM,
	  output [31:0] i_cos,
	  output [31:0] q_sin
);
wire [15:0] douta;
wire [31:0]m_axis_data_tdata;
wire [31:0]m_axis_phase_tdata;
wire [31:0] P_i;
wire [31:0] P_q;
reg [12:0]addra;

always @(posedge clk or posedge rst) begin
	if (rst) begin
addra <= 1'b0;
	end
	else begin
addra <= addra + 1'b1;
	end
end

assign LFM = douta;
assign sin = m_axis_data_tdata[15:0];
assign cos = m_axis_data_tdata[31:16];
assign i_cos= P_i;
assign q_sin= P_q;
blk_mem_gen_0 LFMWAVE (
  .clka(clk),    // input wire clka
  .addra(addra),  // input wire [12 : 0] addra
  .douta(douta)  // output wire [15 : 0] douta
);

LO sin_cos (
  .aclk(clk),                                // input wire aclk
  .m_axis_data_tvalid(),    // output wire m_axis_data_tvalid
  .m_axis_data_tdata(m_axis_data_tdata),      // output wire [31 : 0] m_axis_data_tdata
  .m_axis_phase_tvalid(),  // output wire m_axis_phase_tvalid
  .m_axis_phase_tdata(m_axis_phase_tdata)    // output wire [31 : 0] m_axis_phase_tdata
);

mult_i mult_i (
  .CLK(clk),  // input wire CLK
  .A(douta),      // input wire [15 : 0] A
  .B(m_axis_data_tdata[15:0]),      // input wire [15 : 0] B
  .P(P_i)      // output wire [31 : 0] P
);
mult_i mult_q (
  .CLK(clk),  // input wire CLK
  .A(douta),      // input wire [15 : 0] A
  .B(m_axis_data_tdata[31:16]),      // input wire [15 : 0] B
  .P(P_q)      // output wire [31 : 0] P
);

fir_compiler_0 fir_i (
  .aclk(clk),                              // input wire aclk
  .s_axis_data_tvalid(en),  // input wire s_axis_data_tvalid
  .s_axis_data_tready(),  // output wire s_axis_data_tready
  .s_axis_data_tdata(P_i),    // input wire [31 : 0] s_axis_data_tdata
  .m_axis_data_tvalid(),  // output wire m_axis_data_tvalid
  .m_axis_data_tdata(i_data)    // output wire [55 : 0] m_axis_data_tdata
);

fir_compiler_0 fir_q (
  .aclk(clk),                              // input wire aclk
  .s_axis_data_tvalid(en),  // input wire s_axis_data_tvalid
  .s_axis_data_tready(),  // output wire s_axis_data_tready
  .s_axis_data_tdata(P_q),    // input wire [31 : 0] s_axis_data_tdata
  .m_axis_data_tvalid(),  // output wire m_axis_data_tvalid
  .m_axis_data_tdata(q_data)    // output wire [55 : 0] m_axis_data_tdata
);


		decimation#(
			.NDEC(56)
		) inst_decimation_i (
			.clk   (clk),
			.rst  (rst),
			.en    (en),
			.din   (i_data),
			.valid (),
			.dout  (i_d4)
		);
		decimation#(
			.NDEC(56)
		) inst_decimation_q (
			.clk   (clk),
			.rst  (rst),
			.en    (en),
			.din   (q_data),
			.valid (),
			.dout  (q_d4)
		);


endmodule

抽取模塊代碼:

module  decimation
    #(parameter NDEC = 56)
    (
     input                clk,
     input                rst,
     input                en,
     input [NDEC-1:0]     din,
     output               valid,
     output [NDEC-1:0]    dout);

    reg                  valid_r ;
    reg [2:0]            cnt ;
    reg [NDEC-1:0]       dout_r ;

    //counter
    always @(posedge clk or posedge rst) begin
        if (rst) begin
            cnt <= 3'b0;
        end
        else if (en) begin
            if (cnt==3) begin
                cnt <= 'b0 ;
            end
            else begin
                cnt <= cnt + 1'b1 ;
            end
        end
    end

    //data, valid
    always @(posedge clk or posedge rst) begin
        if (rst) begin
            valid_r        <= 1'b0 ;
            dout_r         <= 'b0 ;
        end
        else if (en) begin
            if (cnt==3) begin
                valid_r     <= 1'b1 ;
                dout_r      <= din;
            end
            else begin
                valid_r     <= 1'b0 ;
            end
        end
    end
    assign dout          = dout_r ;
    assign valid         = valid_r ;

endmodule

在這里插入圖片描述

FPGA仿真波形

綜合RTL視圖:

在這里插入圖片描述

可見,與實數信號流圖描述結構相同,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/238638.html

標籤:其他

上一篇:C語言 | 按成績高低輸出學生資訊

下一篇:【GDAL】C++加載矢量資料

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more