NI產品與技術 討論區

取消
顯示結果 
搜尋替代 
您的意思是: 

触发 问题

 我用matlab 发送一个CHIRP 信号 频率是 38000-42000hz  采样频率是90000HZ. 用的采集卡是NI 的 PCI  6120 但是采样频率一大于80 000HZ就会出错
 错误 提示 /   Error using=>daqdevice/ trigger
                      NI-DAQ:  The value of a numeric parameter is invalid.
哪位知道要,怎么改§  程序简化如下
daqreset
close all
clear all

%   Étape 1: Initialisation des variables et création du signal émis     %
c=34000;                    % vitesse du son dans l'air en cm/s

fe=90e3;                   % frequence d'echantillonnage pour le CNA/CAN
f1=38e3;                     % frequence de depart pour le chirp
f2=42e3;                    % frequence de fin pour le chirp

T=1;                      % durée du chirp

%!!!! Calibration
r_correction=0/c;           % retard d'etalonnage en s (partie a remplir en cm)

nb_fois=1;                 % nombres de fois ou l'experience est executee

t=[0:1/fe:T-1/fe];
s=chirp(t, f1, T, f2);
s=1*s';
%%% changé '2' en '1'
N=length(s);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    clear ao;
    clear canal1;
    clear abstime1;
    clear abstime2;
    clear data;
   
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   Étape 2: Initialisation des cartes                                  %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
    ao=analogoutput('nidaq')
    canal1 = addchannel(ao, 1)
    set(ao, 'SampleRate', fe)
    feo = get(ao, 'SampleRate')
    set(ao, 'TriggerType', 'Manual');
   
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%     Étape 4: Émission et réception                                  %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    for i=1:nb_fois
    % le signal chirp est envoyé
    putdata(ao,s)
    %pause(1)
    % mise en fonctionnement du CNA-CAN
    start(ao)
    trigger(ao)
    stop(ao)
   
end
 
t= (0:N-1)/fe;
figure(1),plot(t,s),title('signal emis')
vf = (0:N-1)/N*fe-fe/2;
figure(2),plot(vf,abs(fftshift(fft(s)))),title('spectre sign
0 積分
1 條訊息(共 2 條)
4,615 檢視

NI 6120 Sampling rate = 800k S/s.

問題可能出在Matlab 設定上,建議您問 Mathworks China Distributor.

或者使用 LabVIEW SignalExpress

0 積分
2 條訊息(共 2 條)
4,604 檢視