MATLAB 產生頻寬訊號

2021-10-18 05:00:57 字數 1358 閱讀 6236

clc

clear all

close all

%%% 產生中心頻率150mhz ,頻寬50mhz, 取樣率252mhz的頻寬訊號

tp = 65.015e-6; % 發射時寬. 控制點數.比如要輸出的點數是l, tp = l /fs .

% 16384 / 252e6 = 65.015e-6

b = 50e6; % 發射頻寬

k = b/tp; % 發射調頻率

fs = 252e6; % 發射訊號取樣率

t = [-tp/2:1/fs:tp/2]; % 發射取樣時刻

sig = exp(i*pi*k*t.^2); % 發射訊號iq兩路

figure;

real_sig_tmp = real (sig);

real_sig = floor (16384 * real_sig_tmp);

l = length (t);

figure;

subplot(211),plot([-fs/2:fs/l:fs/2-fs/l],db(fftshift(fft(real_sig))));

title('發射頻譜')

subplot(212), plot(real_sig);

title('發射訊號i部')

fs1=252e6;%取樣頻率

f1=102e6;%訊號頻率hz ,輸出中心頻率150m ,需要映象輸出,252 - 150 = 102

n=16384;%取樣點數

t1=(0:n-1)/fs1;%取樣時間s,fs的值越大,出來的波形失真越小

sin1=sin(2*pi*f1*t1);%訊號取樣值

real_sig_duc = real_sig.*sin1(1,:); %上變頻輸出

figure;

subplot(211),plot([-fs/2:fs/l:fs/2-fs/l],db(fftshift(fft(real_sig_duc))));

title('發射頻譜')

subplot(212), plot(real_sig_duc);

title('發射訊號i部')

fid = fopen('real_sig_duc.txt','w');

fprintf (fid,'%0.0f,\r',real_sig_duc); %%0.14f 保留小數點後幾位,存小數的時候去掉科學計數法,很有用

fclose (fid);

Matlab程式設計產生數字基帶訊號

今天要產生一串數字基帶訊號,可是到網上查了很多,沒有乙個解釋清楚和例程,後來通過查一些資料和論壇帖子終於程式設計產生出了數字基帶訊號,並且完成了後面的頻帶 第一種是只能畫圖,但不能做運算 第二種方法才是正確的方法,既能做出圖,又能用於運算 t 0 0.001 8 d 0 0 1 1 2 1 3 0 ...

核心產生訊號

之前只知道核心往使用者空間傳送訊號可以用 非同步通知 昨天接觸到乙個新的函式,查了一下ulk3 page431 發現核心中有一族函式專門為程序產生訊號的。由於自己之前沒用過,最近又在看別的東西,先羅列在這 intsend sig int sig,struct task struct p,int pr...

訊號的產生

ctrl c 2 sigint 終止 中斷 int interrupt ctrl z 20 sigtstp 暫停 停止 t terminal 終端,停止當前跟終端互動的程序。ctrl 3 sigquit 退出 除0操作 8 sigfpe 浮點數例外 f float 浮點數。非法訪問記憶體 11 si...