23- maʻruza mavzu: Inson – mashina interfeysi boshqarish tizimining elementi sifatida


Download 15.57 Kb.
Sana18.06.2023
Hajmi15.57 Kb.
#1571571
Bog'liq
14-maruza. Inson – mashina interfeysi boshqarish tizimining elementi sifatida


23- MAʻRUZA
Mavzu: Inson – mashina interfeysi boshqarish tizimining elementi sifatida Rеja:
1. Ovoz kartasiga kanallarni qo‘shish
2. Diskretlash chastotasini tanlash

Analog kiritish obyekti hosil qilinadi:


ai = analoginput('winsound');
Faqat bitta kanal qo‘shish uchun addchannel komandasidan foydalaniladi:
addchannel(ai,1);
Bu holda avtomatik ravishda mono kanal hosil bo‘ladi. Quyidagi komandani bajarib bita (mono) kanal hosil qilinganligini ko‘rishimiz mumkin:
ai.Channel.ChannelName
ans =
Mono
Agar ikkita kanal qo‘shilsa ovoz kartasi stereo rejimiga o‘tadi. Kanallarni bittadan qo‘shish yoki ikkala kanalni bir yo‘la kiritish mumkin:
addchannel(ai,1);
addchannel(ai,2);
Quyidagi komandani bajarib ikkita (stereo) kanal hosil qilinganligini ko‘rishimiz mumkin:
ai.Channel.ChannelName
ans =
'Left'
'Right'
Stereo rejimdan mono rejimga o‘tish uchun faqat ikkinchi kanal olib tashalanadi. Agar birinchi kanalni olib tashlamoqchi bo‘lsak xatolik to‘g‘risida axborot chiqadi:
delete(ai.Channel(1))
??? Error using ==> daqchild/delete
Channel 1 cannot be deleted before channel 2 for device Winsound.(Birinchi kanal ikkinchi kanaldan avval olib tashlanishi mumkin emas)
Ikkinchi kanalni olib tashlaymiz:
delete(ai.Channel(2))
Endi ovoz kartasi mono rejimiga o‘tadi.
    1. Diskretlash chastotasini tanlash. Diskretlash chastotasi (SampleRate) 1 sekundda olinadigan ma’lumotlar (namunalar) sonini ko‘rsatadi. Quyidagi misolda diskretlash chastotasi 44,1kGs olingan, ya’ni, 1 sekundda analog signalning ketma-ket 44100 nuqtasining qiymatlari olinadi:


ai = analoginput('winsound');
addchannel(ai,1);
addchannel(ai,2);
set(ai,'SampleRate',44100)
Qo‘yilishi mumkin bo‘lgan diskretlash chastotalarining diapozonini propinfo funksiyasi yordamida ko‘rish mumkin:
ValidRates = propinfo(ai,'SampleRate')
ValidRates =
Type: 'double'
Constraint: 'Bounded'
ConstraintValue: [8000 44100]
DefaultValue: 8000
ReadOnly: 0
ReadOnlyRunning: 1
DeviceSpecific: 0
    1. Triggerlardan foydalanish Triggerlar immediate (bevosita), manual (qo‘l) va software (dasturiy) triggerlarga bo‘linadi. Ma’lumotlar faqat trigger ishlagan momentlardagina olinishi mumkin, ya’ni ular yordamida analog signalni raqamliga aylantirish uchun zarur bo‘lgan diskretlash chastotasi o‘rnatiladi.


Ochiq DAQ obyektlarni aniqlaymiz va ularning ishlashini to‘xtatamiz:
openDAQ = daqfind;
for i = 1:length(openDAQ),
stop(openDAQ(i));
end

Bevosita trigger (immediate trigger) Bevosita trigger biriktirilgan trigger bo‘lib START kodandasi berilishi bilan darhol ma’lumotlarni registratsiya qilishni boshlash imkoniyatini beradi.


Quyidagi misolda analog kirish obyektini hosil qilingan (ai) va unga ikkita kanal qo‘shilgan. Bunda ovoz platasini (winsound) stereo rejimida ishga tushurish mumkin. Diskretlash chastotasini 10000 Gs o‘rnatamiz (1 sekund davomida analog signalning 10000 nuqtasi to‘g‘risidagi ma’lumot raqamli ko‘rinishga o‘tkaziladi). Triggerning SamplesPerTrigger xossasining qiymatini 300 olamiz, ya’ni 300 ta nuqta to‘g‘risidagi ma’lumot xotiraga olinadi. Olingan ma’lumotni GETDATA funksiyasi yordamida data o‘zgaruvchisiga taqdim qilinadi. Ma’lumotlar o‘lchami triggerning SamplesPerTrigger xossasining qiymati va kanallar soni bilan belgilanadi:
ai = analoginput('winsound');
addchannel(ai, [1 2]);
set(ai, 'SampleRate', 10000);
set(ai, 'SamplesPerTrigger', 300);
set(ai, 'TriggerType', 'immediate');
start(ai);
[data,time] = getdata(ai);
Download 15.57 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling