이동 평균 필터 인 매트랩


MovAv를 다운로드하십시오. movAv2도보십시오 - 가중치를 허용하는 업데이트 된 버전입니다. 설명 Matlab에는 Financial Toolbox에서 movavg 및 tsmovavg 시계열 이동 평균이라는 함수가 포함되어 있으며, movAv는 이들의 기본 기능을 복제하도록 설계되었습니다. 여기 코드는 관리의 좋은 예를 제공합니다 루프 내부에서 인덱스를 작성하는 것은 혼란 스럽습니다. 코드를 짧고 단순하게 유지하여이 프로세스를 명확하게 유지합니다 ..movAv는 일부 상황에서 시끄러운 데이터를 복구하는 데 사용할 수있는 간단한 이동 평균을 수행합니다. 슬라이딩 시간 창에 대한 입력 y의 크기는 n으로 지정됩니다. n이 클수록, n의 효과가 입력 벡터 y의 길이에 비례하여 부드럽게되는 양이 커지며 효율적으로 잘 생성됩니다 로우 패스 주파수 필터 - 예제와 고려 사항 섹션을 참조하십시오. n의 각 값에 의해 제공되는 스무딩의 양은 입력 벡터의 길이에 비례하므로 항상 가치가 있습니다 다른 값을 테스트하여 적절한 것을 확인하십시오. n이 100이면 n 포인트가 손실된다는 것을 기억하십시오. 입력 벡터의 첫 번째 99 포인트에는 평균 100pt에 대한 충분한 데이터가 들어 있지 않습니다. 이것은 평균을 스태킹하여 다소 피할 수 있습니다. 예를 들어, 아래 코드와 그래프는 서로 다른 길이의 윈도우 평균을 비교합니다. 10 10pt는 20pt 평균과 비교됩니다. 두 경우 모두 20 포인트의 데이터가 손실됩니다. xaxis 생성 x 1 0 01 5 잡음 잡음 생성 4 잡음 인자 1, ceil numel x noiseReps, noiseReps, 1 잡음 변형 잡음, 1, 길이 잡음 noiseReps ydata 잡음 생성 y exp x 10 잡음 1 길이 x Perfrom 평균 y2 movAv y, 10 10 pt y3 movAv y2, 10 10 10 pt y4 movAv y, 20 20 pt y5 movav, 40 40 pt y6 movAv y, 100 100 pt 플롯 그림 플롯 x, y, y2, y3, y4, y5, y6 범례 Raw 데이터, 10pt 이동 평균, 10pt, 20pt, 40pt, 100pt xlabel x ylabel y title 이동 평균 비교 ..movAv m 코드 run-through 함수 출력 movAv y, n 첫 번째 줄은 함수 이름, 입력 및 출력을 정의합니다. 입력 x는 평균을 수행 할 데이터의 벡터 여야합니다. n은 평균을 수행하는 평균 포인트 수 여야합니다. 함수에 의해 반환 된 평균 데이터가 포함됩니다. 출력 출력 사전 할당 NaN 1, numel y n midPoint 라운드의 중점 찾기 n 2 함수의 주요 작업은 for 루프에서 수행되지만 시작하기 전에 두 가지가 준비됩니다. stari 출력은 NaN으로 미리 할당됩니다. 이 두 가지 목적을 달성했습니다. 먼저 Matlab이 수행해야하는 메모리 저글링을 줄이기 때문에 우선적으로 사전 할당이 일반적으로 좋은 방법입니다. 둘째, 평균 데이터를 다음과 같은 크기의 출력에 배치하는 것이 매우 쉽습니다. 입력 벡터 이것은 동일한 xaxis가 둘 다 나중에 사용할 수 있다는 것을 의미하며 플로팅에 편리합니다. 또는 NaN을 한 줄의 코드 출력 출력에서 ​​나중에 제거 할 수 있습니다. 변수 midPoint는 출력 벡터의 데이터를 정렬하는 데 사용됩니다 입력 벡터의 처음 9 포인트에 대해 10 포인트 평균을 취하기에 충분한 데이터가 없기 때문에 n 10, 10 포인트가 손실됩니다. 출력이 입력보다 짧으 므로 midPoint가 올바르게 정렬되어야합니다 출력을 미리 할당 할 때 생성 된 NaN 버퍼에 의해 입력과 동일한 양의 데이터가 손실되도록 입력이 유지됩니다. y 길이가 1 인 경우 - n abban보다 평균을 취할 인덱스 범위를 찾습니다. 계산 평균 산출량 a midPoint mean yab end for 루프 자체에서 입력의 각 연속 세그먼트에 대해 평균을 취합니다. 루프는 입력 y의 길이에서 손실 될 데이터를 뺀 길이 1까지 정의됩니다. n If 입력은 100 포인트 길이이고 n은 10입니다. 루프는 1에서 90까지 실행됩니다. 이것은 평균화 할 세그먼트의 첫 번째 인덱스를 제공합니다. 두 번째 인덱스 b는 단순히 n-1입니다. 따라서 첫 번째 반복에서, a 1 n 10 그래서 b 11-1 10 첫 번째 평균은 yab 또는 x 1을 취함 10이 세그먼트의 평균값은 단일 값으로 인덱스 a midPoint 또는 1 5 6.에 저장됩니다. 6. 두 번째 반복 , a 2 b 2 10-1 11 따라서 평균은 x 2 11에서 취해지고 출력 7에 저장됩니다. 길이 100의 입력에 대한 루프의 마지막 반복에서 평균은 91b 90 10-1 100이므로 x 91 100 이상이고 출력 95에 저장됩니다. 이 결과는 인덱스 1,5 및 96에서 n 개의 총 10 개의 NaN 값을 출력합니다. 예제 및 고려 사항 이동 평균은 일부 상황에서는 유용하지만 항상 최상의 선택은 아닙니다. 다음은 마이크가 최적이 아닌 두 가지 예입니다. 마이크 보정이 데이터 세트는 스피커에서 생성되고 알려진 선형 응답으로 마이크에서 녹음 된 각 주파수의 레벨을 나타냅니다. 스피커의 출력은 빈도를 조정할 수 있지만 보정 데이터로 이러한 변동을 수정할 수 있습니다. 출력은 보정의 변동을 고려하여 레벨을 조정할 수 있습니다. 원시 데이터에는 시끄러운 참고 사항이 있습니다. 즉, 빈도가 약간 변경되면 크거나, 이상한, 레벨에 대한 설명이 현실적인가 아니면 이것이 녹음 환경의 결과인지 여부이 경우에는 레벨 주파수 곡선을 부드럽게하는 약간의 변동 곡선을 제공하는 이동 평균을 적용하는 것이 합리적입니다 그러나이 예제에서 왜 최적이 아닌가? 더 많은 데이터가 더 좋을 것입니다 - 여러 개의 캘리브레이션을 평균 실행하면 시스템의 노이즈가 파괴되는 동안 파괴됩니다 dom과 덜 섬세한 디테일을 잃은 커브를 제공합니다. 이동 평균은 근사값 일 수 있으며, 실제로 존재하는 커브에서 더 높은 주파수 딥과 피크를 제거 할 수 있습니다. 사인파 사인파에서 이동 평균을 사용하면 두 포인트가 강조됩니다. 일반 평균을 수행하기 위해 합리적인 수의 포인트를 선택하는 문제. 간단하지만 시간 영역에서 진동 신호를 평균화하는 것보다 효과적인 신호 분석 방법이 있습니다. 이 그래프에서 원래의 사인파는 파란색으로 표시됩니다. 오렌지색 곡선으로 추가되고 플롯됩니다. 이동 평균은 원래의 웨이브를 복구 할 수 있는지 확인하기 위해 다른 수의 포인트에서 수행됩니다. 5와 10 포인트는 합리적인 결과를 제공하지만 더 많은 수의 포인트가 시작되는 곳에서는 노이즈를 완전히 제거하지 마십시오. 평균이 다른 단계에 걸쳐 확장됨에 따라 진폭 세부 정보가 손실됩니다. 웨이브가 0 주위를 오스틸하고 평균 -1 1을 의미합니다. 대안으로는 로우 패스 필터를 구성 할 수 있습니다 주파수 영역에서 신호에 적용되었지만, 이 기사의 범위를 넘어서는 세부 사항은 아니지만 잡음이 파 기본 주파수보다 상당히 높기 때문에이 경우에는 저주파 필터는 고주파 노이즈를 제거합니다. 수요일, 2008 년 10 월 8 일 20 04 최종 업데이트 목요일, 2013 년 3 월 14 일 01 29 Batuhan Osmanoglu 작성 41584.Mapping Average in Matlab. 자주 평균을 필요로합니다. 내가 소음을 조금 줄여야하는 데이터 내가 뭘 원하는지 정확히 몇 가지 기능을 썼다지만 matlab에 필터 기능 내장 꽤 잘 작동 여기에 내가 1D 및 데이터의 2D 평균에 대해 쓸거야 .1D 필터 수 있습니다 필터 함수를 사용하여 실현 필터 함수는 필터 b에 대한 분자 계수, 필터 a에 대한 분모 계수 및 물론 데이터 X를 적어도 3 개의 입력 매개 변수로 요구합니다. 실행 평균 필터는 다음과 같이 정의 할 수 있습니다. d로 간단히 .2 차원 데이터에 대해 우리는 Matlab의 filter2 함수를 사용할 수 있습니다. 필터가 작동하는 방법에 대한 자세한 내용은 입력 할 수 있습니다. 여기에 16x16 이동 평균 필터를 빠르고 간단하게 구현합니다. 먼저 필터를 정의해야합니다 우리가 원하는 것은 모든 이웃들의 동등한 공헌이기 때문에 우리는 함수를 사용할 수 있습니다. 우리는 신호의 일반적인 레벨 진폭을 변경하고 싶지 않기 때문에 모든 것을 256 16으로 나눕니다. 필터를 적용하기 위해 간단히 다음을 말할 수 있습니다. 다음은 SAR 간섭계 위상의 결과입니다. 이 경우 범위는 Y 축에 있고 방위각은 X 축에 매핑되었습니다. 필터는 범위가 4 픽셀이고 방위각이 16 픽셀입니다. 이동 평균 기능. 결과 이동 데이터, 창, dim 옵션은 dim 옵션에 지정된 알고리즘을 사용하여 dim 차원의 window에 지정된 창 크기를 사용하여 데이터 행렬 데이터의 가운데 이동 평균을 계산합니다. 옵션은 선택적 입력이며 기본값은 1.Dim이며 옵션 옵션 입력은 건너 뛸 수 있습니다 에이 ltogether 또는 대체 할 수 있습니다 예를 들어 movingmean 데이터, 창 이동하는 데이터, 창, 1,1 또는 movingmean 데이터, 창, 같은 결과를 줄 것이다 1. 입력 데이터 행렬 크기 및 크기는 최대 행렬 크기에 의해서만 제한됩니다 당신을 위해 플랫폼 플랫폼은 정수 여야하며 홀수 여야합니다. 윈도우가 짝수이면 다음 더 낮은 홀수로 반올림됩니다. 함수는 지정된 차원에서 앞뒤에 중심점과 창 -1 요소가 포함 된 이동 평균을 계산합니다. 행렬의 가장자리에서 이전 또는 이후의 요소 수가 줄어들어 실제 창 크기가 지정된 창보다 작습니다. 함수가 두 부분, 즉 1d-2d 알고리즘과 3 차원 알고리즘으로 나뉩니다. 이것은 최적화를 위해 수행되었습니다 1d-2d 및 3d 문제에 대한 여러 가지 알고리즘이 제공됩니다. 특정 알고리즘의 경우와 같이 기본 알고리즘이 가장 빠릅니다. 일반적으로 행렬이 매우 넓은 경우 즉 100 x 100000 또는 10 x 1000 x 1000이고 이동 평균은 짧은 차원에서 계산됩니다. 기본 알고리즘이 느린 크기는 컴퓨터에 따라 다릅니다. MATLAB 7 8 R2009a. Tags for This File 태그 파일에 로그인하십시오. 코멘트 또는 등급 및 등급을 추가하려면 로그인하십시오. 8. 함수는 윈도우의 후행 부분 또는 선행 부분을 잘라내어 가운데에 선행 또는 후행 이동 평균으로 전환함으로써 끝납니다. 창 크기가 3이면 1의 중심에서 함수가 2 점의 중심에서 점 1과 점 2의 데이터를 평균 함 1, 2 및 3을 9 점의 중심에서 평균 8, 9 및 10을 평균 10의 중심에 벡터가 10 개의 엔트리를 가지고 있다고 가정합니다. 9와 10의 평균을 구합니다. 이동 수단은 끝을 어떻게 처리합니까? 1에서 1 점만, 3 점에서 2 점까지 창 크기로 시작한 다음 점차 증가합니다 창 크기가 지정된 크기가 될 때까지 창 크기 함수 입력에서 고마워요. 간단하고 고마워. 잘 했어. 스테판 울프가 말했듯이 매우 유용했다. 내가 뭘 찾고 있었는지. 창 크기를 찾지 않고도 전체 너비의 줄거리에서 작업 할 수있는 가운데 이동 평균 엔지니어링 및 과학의 속도를 가속화합니다. MathWorks는 엔지니어 및 과학자를위한 수학 컴퓨팅 소프트웨어의 선도적 인 개발 업체입니다.

Comments