MATLAB에서 Filter2를 사용하여 저역 통과 필터를 생성하는 방법

작가: Laura McKinney
창조 날짜: 1 4 월 2021
업데이트 날짜: 14 1 월 2025
Anonim
GNU 옥타브에서 신호를 필터링하는 방법
동영상: GNU 옥타브에서 신호를 필터링하는 방법

콘텐츠

MATLAB은 신호를 자세히 분석하고 처리하는 데 사용할 수있는 프로그래밍 도구입니다. 하나 또는 여러 차원의 신호 처리에서 일반적인 작동은 고주파 노이즈를 제거하는 것입니다. 정의에 따라 로우 패스 필터는 신호에서 특정 값 이상의 주파수를 제거하도록 설계되었습니다. MATLAB에서 filter2 () 함수를 사용하면 이러한 필터를 구현할 수 있습니다.


지침

MATLAB의 filter2 () 함수를 사용하면 로우 패스 필터를 구현할 수 있습니다. (Hemera Technologies / AbleStock.com / 게티 이미지)
  1. 데이터를 MATLAB으로 가져옵니다. 필터링해야 할 신호는 fread ()와 같은 하위 수준의 I / O 함수를 가져와야하므로 이진 형식으로 저장되는 경우가 많습니다. 그러나 MATLAB에는 가장 일반적인 형식의 이미지 가져 오기 기능이 포함되어 있습니다.

    my_data = fread (file_handle, n_samples, data_type); my_image = imread ( 'my_image_file.tif', 'TIFF');

  2. filter2 () 함수로 처리하기 전에 데이터를 2 차원 배열로 변환하십시오. reshape () 함수를 통해 1 차원 바이너리 배열을 배열로 변환하거나 시리즈에서 이미지를 선택하여이 작업을 수행 할 수 있습니다. squeeze () 함수를 사용하여 두 개 이상의 차원이있는 배열의 일부를 선택하여 단일 차원을 제거합니다.

    my_image = reshape (my_data, width, height); my_other_image = squeeze (my_image_series (:, image_number));

  3. 필터를 그리고 그 결과를 2 차원 배열 H에 저장하십시오. 일반적으로 저역 통과 필터는 fspecial () 함수로 생성 할 수있는 "가우스 창"을 사용합니다. 필터는 특수 sptool 신호 처리 함수 ()를 사용하여 디자인 할 수도 있습니다. wvtool () 함수를 사용하여 필터 윈도우의 주파수 응답을 볼 수 있습니다. 예제 코드에서 H는 표준 편차 가우시안 창 10을 포함하는 24x24 배열입니다.


    H = fspecial ( '가우스', [24 24], 10); wvtool (H);

  4. filter2 ()를 통해 구현 된 2 차원 컨볼 루션 알고리즘을 사용하여 필터링을 수행합니다. 기본적으로 filter2 ()의 결과는 입력 데이터 세트와 동일한 차원을 갖습니다.

    my_filtered_data = filter2 (my_data, H);

수영장은 박테리아를 죽이고 쾌적한 외관을 유지하기 위해 화학 물질로 처리됩니다. 수영장을 안정된 pH 수준으로 유지하려면 물의 중탄산염 알칼리 수준 인 총 알칼리도 (AT)가 80 ~ 120ppm (백만 분율)이어야합니다. AT가 너무 높으면 수영장의 물이 불투명 해집니다. 수영장의 알칼리도를 줄이기 위해 염산이라고도 알려진 muriatic acid를 사용...

크리스마스는 전통으로 가득 찬 휴일이지만 일부는 다른 사람들보다 덜 알려져 있습니다. 2000 년대 중반, 중세에서 시작된 가톨릭 전통의 부활로 사람들은 축하 행사에 크리스마스 트리를 거꾸로 통합하기 시작했습니다.크리스마스 트리는 7 세기 Devonhire의 aint Boniface가 이교도들에게 성삼위 일체를 설명하기 위해 처음 사용했습니다. 나무는 원래...

권장