我用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