이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.
NI USB-4431 장치를 이용한 임펄스 응답 측정
이 예제는 National Instruments™ (NI) USB-4431 음향 및 진동 장치와 Impulse Response Measurer (Audio Toolbox) 앱을 사용하여 임펄스 응답(IR)을 측정하는 방법을 보여줍니다.
이 앱을 사용하면 장치를 간편하게 설정하고, 가진 신호를 생성 및 재생하며, 응답 신호를 동시에 기록할 수 있습니다. 결과를 확인하거나 내보낼 수 있으며, 필요에 따라 수정할 수 있는 동등한 MATLAB® 스크립트를 생성할 수도 있습니다.
이 예제에서는 Audio Toolbox™와 Data Acquisition Toolbox™가 필요합니다. 또한 NI 드라이버(권장) 또는 Data Acquisition Toolbox Support Package for National Instruments NI-DAQmx Devices가 설치되어 있어야 합니다. 장치가 올바르게 설정되었는지 확인하려면 Data Acquisition Toolbox의 daqlist 함수를 사용할 수 있습니다.
임펄스 응답 측정기 앱
임펄스 응답 측정기 앱을 사용하면 오디오 인터페이스 장치나 NI USB-4431과 같은 데이터 수집 장치를 통해 최대 길이 시퀀스(MLS) 방식 또는 지수 스윕 사인 방식을 이용하여 임펄스 응답을 측정할 수 있습니다. 명령 프롬프트에서 impulseResponseMeasurer를 입력하여 앱을 실행합니다. 또한 MATLAB 툴스트립의 앱 탭에서 앱 아이콘을 클릭할 수도 있습니다.

앱 구성 및 지연 시간 측정
먼저 드라이버 목록에서 DAQ 드라이버를 선택합니다. 다음으로, 플레이어 및 레코더 목록에서 각각 National Instruments™ USB-4431 장치를 선택합니다. 장치 및 사용 용도에 따라 샘플 레이트를 설정합니다. 예를 들어, 라우드스피커 응답을 측정할 때는 48000Hz로 설정합니다. I/O 채널을 선택합니다. 예를 들어, ao0에 연결된 라우드스피커의 경우 플레이어 채널 0을, ai0 및 ai1에 연결된 입력의 경우 레코더 채널 0과 1을 선택합니다. Swept Sine을 선택합니다. 이 방법은 비선형 왜곡과 배경 잡음이 있는 라우드스피커를 측정하는 데 더 적합하기 때문입니다. 다른 설정은 테스트 대상 장치에 따라 달라지지만, 스윕 시작 주파수가 해당 장치(스피커)의 허용 범위를 벗어나지 않도록 주의합니다. 범위를 벗어날 경우 측정 결과 전체에 영향을 미칠 정도의 왜곡이 발생할 수 있습니다.
이제 캡처를 클릭하여 측정을 진행합니다. 임펄스 응답 플롯을 확대합니다. 루프백 케이블이 연결된 첫 번째 채널(파란색)의 응답을, 작은 방의 테이블 위에 놓인 책장형 라우드스피커 앞에 설치된 측정용 마이크인 다른 채널(빨간색)의 응답과 비교합니다.

측정에서 장치 지연 제거
다음으로, 루프백 케이블의 응답을 측정하는 대신, 이 케이블을 사용하여 라우드스피커 측정값에서 해당 장치의 지연 시간을 제거합니다. 레코더 채널에서 채널 0을 제거합니다. 지연 보정 메뉴를 사용하여 측정값에서 장치 지연을 제거합니다. 루프백을 활성화하고, 채널 0을 출력으로, 채널 0을 입력으로 지정합니다. 측정을 클릭하여 새로운 측정을 시작합니다. 시간 영역에서 임펄스를 더 잘 볼 수 있도록 확대/축소 설정을 초기화한 후, 처음부터 확대합니다. 측정 시스템에 의해 발생하는 지연은 제거되고, 스피커와 마이크 사이의 거리에 따라 달라지는 음향적 지연만 남게 됩니다.

스크립트 생성
앱으로는 불가능한 방식으로 측정을 자동화하거나 DAQ 설정을 더욱 세부적으로 사용자 지정하고 싶다면, 앱에서 스크립트를 생성한 후 이를 수정할 수 있습니다.
장치, 방법, 방법 설정, 표시 섹션에서 원하는 항목을 선택합니다. 또한 진폭 및 위상 응답에 대해 선형 또는 로그 눈금을 설정할 수 있습니다(해당 그래프 위에 마우스를 올리면 나타나는 도구 모음을 사용하여). 예를 들어, 채널 0을 입력 및 출력으로 설정하고 지연 보정 기능을 비활성화합니다. 그런 다음 툴스트립에서 스크립트 생성을 클릭하면 편집기에 새 문서가 생성됩니다. 파일 맨 앞에 function capture = irm_script라는 라인을 삽입한 다음, irm_script.m라는 이름으로 저장하면 이를 함수로 만들 수 있습니다.
스크립트를 실행하고 결과를 비교해 보십시오.
capture = irm_script;
Recording... Computing results...

생성된 코드를 활용하면 이 기능을 자신의 프로젝트에 통합하거나, 앱에서 제공하지 않는 옵션을 변경할 수 있습니다. 예를 들어, 입력 모드를 "Microphone"로 설정하려면 daqInputType 변수를 변경하면 됩니다.
daqInputType = "Microphone"; daqOutputType = "Voltage";
그런 다음 원하는 감도를 설정합니다.
for ii = 1:numel(recChMap) ch = addinput(dq,daqDevID,daqInputs(recChMap(ii)),daqInputType); ch.Coupling = "AC"; % select AC coupling ch.Sensitivity = 1; % set sensitivity end
범례를 삭제할 수도 있습니다. 이제 수정된 스크립트를 실행합니다.
figure % new figure
capturemod = irm_scriptmod;Recording... Computing results...
