취소
다음에 대한 결과 표시 
다음에 대한 검색 
다음을 의미합니까? 

ECG신호 FFT 하려는데 질문이 있습니다.

해결 완료!
솔루션으로 이동

안녕하세요 지금 랩뷰에서 ECG시뮬을 만들고 거기서 만들어진 신호를 Myrio 아웃풋 핀으로 보내고  다시 인풋핀으로 받아 들이는것을 했습니다.

 

신호를 다시 받으니 파형은 ECG 파형처럼 나오지만 노이즈가 많이 껴 있더라구요.

 

그래서 어떤 주파수가 끼어 있는지 보기위해 FFT를 하려는데 

하는 방법을 잘 모르겠네요.

 

ECG시뮬에서 만든 신호로 FFT를 하면 되는데  인풋핀으로 받는 파형으로 FFT를 하자니 되지 않네요 연결이 안되서. 

일단 FFT 하는게 익스프레스에 있는 신호분석에서 피크, 선형 으로 하는게 맞는지요?

전 이렇게 했거든요..

그런데 인풋에서 나오는 신호는 DBL값이고 신호분석에 들어가야 하는 값은 웨이브폼 값으로 되어 있어서 연결이 안되는데 이부분을 어떻게 변환 시키면 되는거 같긴한데 

제생각이지만요.. 해결법을 모르겠습니다..

 

제가 아직 랩뷰 초보라서 그런거 일 수 도 있습니다.. 

도움을 부탁드려도 될까요?

0 포인트
1/6 메시지
2,192 조회수

아까 올리신 질문과 동일한 문제이신거 같네요. 

 

인풋에서 나오는 신호라는 것이, myRIO 의 입력 단자에서 얻어오는 데이터라는 뜻이 맞나요? 아시다시피 FFT 는 일정 시간 FFT 할 샘플 포인트를 모아야 합니다. 모여진 DBL 값을 1D Array 로 만드신 뒤, "웨이브폼 만들기" 라는 함수를 통해 웨이브폼 데이터 유형의 데이터를 만들 수 있습니다. 혹시 몰라 스크린 샷으로도 찍었습니다.

캡처.PNG

 

1D DBL 상수 내의 값들은 무시하세요. 임의로 넣은 값입니다. 이런 식으로 연결하면 된다는 걸 보여드리려고 만든 것입니다.

0 포인트
2/6 메시지
2,169 조회수

답변이 늦어서 죄송합니다.. 

 

게시판에 글이 바로 안올라오길래 한 번 더 올렸더니 2번이 올라갔나보내용..

 

일단 코드 일부분 사진을 보여드릴게요

 

보시면 ECG시뮬레이터에서 신호를 만들고 그 신호를 마이리오 출력핀으로 보냅니다.

그리고 인풋핀으로 다시 받구요.

 

님이 친절하시게 알려준 방법으로 하려는데 저 인풋핀에서 오는값은 1x1값이라서

다이나믹데이터로부터 변환 을 사용해서 스칼라의 1D배열 자동으로 선택한후 

FFT를 했는데 사진처럼 0에서만 위아래로 움직이기만 하네요 1x1값이라 그런지...

 

모두 다운로드
0 포인트
3/6 메시지
2,148 조회수

말씀하신대로 1포인트 밖에 없어서 그렇습니다. 가능한 해법으로는, 1포인트 입력 받은 것을 배열에 누적한 뒤, 배열 원소가 설정한 FFT 샘플 포인트만큼 차면 그 때 FFT 를 수행하도록 코드를 수정하면 될 것 같습니다.

 

배열 연산은, LabVIEW 에 배열 연산 팔레트에 있는 함수들을 이리 저리 사용해보면서 익숙한 해지신 뒤 본 코드에 통합하시면 됩니다.

0 포인트
4/6 메시지
2,124 조회수

데이터 누적 시킬려면  포문에 시프트레지스터로 하면 되는지요??

 

일단 시도는 해보겠습니다..

 

아직 랩뷰 초보자라. ㅠ

0 포인트
5/6 메시지
2,120 조회수
솔루션
주제 작성자 jASONBORN이(가) 승인함

시프트 레지스터는 이전 반복에서의 데이터 값을 그 다음 루프 반복에 전달할 때 사용되는 기능입니다.

데이터 누적에는 여러 방법이 있는데, 앞서 언급 드린 대로 배열을 사용할 수도 있습니다. 사실 이 부분은 프로그래밍 구조에 대한 내용이라, 직접 알아보셔야 될 거 같습니다.

 

LabVIEW 가 아직 익숙하지 않으시면 아래 LabVIEW 튜토리얼 영상이 도움이 될 것 같네요. 한국 NI 에서 만든 영상으로 보입니다.

https://www.youtube.com/watch?v=hheqnhi6-ME&list=PLFEQP5FItT4OWr0mzwFr-AEG31EvxpNLh&index=2

 

 

0 포인트
6/6 메시지
2,115 조회수