주요 콘텐츠

wrcoef

1차원 웨이블릿 계수에서 단일 분기 복원하기

    설명

    x = wrcoef(type,c,l,wname)wname으로 지정된 웨이블릿을 사용하여 1차원 신호의 웨이블릿 분해 구조 [c,l]를 기반으로 유형 type의 계수 벡터를 복원합니다(자세한 내용은 wavedec 참조). 최대 분해 레벨의 계수가 복원됩니다. x의 길이는 원본 1차원 신호의 길이와 같습니다.

    x = wrcoef(type,c,l,LoR,HiR)은 복원 필터 LoRHiR을 사용합니다.

    x = wrcoef(___,n)은 위에 열거된 임의의 구문을 사용하여 레벨 n의 계수를 복원합니다.

    예제

    예제

    모두 축소

    1차원 신호를 불러옵니다.

    load sumsin
    s = sumsin;

    sym4 웨이블릿을 사용하여 신호의 레벨 5 웨이블릿 분해를 수행합니다.

    [c,l] = wavedec(s,5,'sym4');

    웨이블릿 분해 구조 [c,l]에서 레벨 5의 근사 계수를 복원합니다.

    a5 = wrcoef('a',c,l,'sym4');

    레벨 2의 세부성분 계수를 복원합니다.

    d2 = wrcoef('d',c,l,'sym4',2);

    원래 신호와 복원된 계수를 플로팅합니다.

    subplot(3,1,1)
    plot(s)
    title('Original Signal')
    subplot(3,1,2)
    plot(a5)
    title('Reconstructed Approximation At Level 5')
    subplot(3,1,3)
    plot(d2)
    title('Reconstructed Details At Level 2')

    Figure contains 3 axes objects. Axes object 1 with title Original Signal contains an object of type line. Axes object 2 with title Reconstructed Approximation At Level 5 contains an object of type line. Axes object 3 with title Reconstructed Details At Level 2 contains an object of type line.

    이 예제에서는 신호의 멀티레벨 1차원 이산 웨이블릿 분해에서 시작하여, 연속된 스케일의 웨이블릿 부분공간과 스케일링 부분공간으로의 신호의 사영을 구하는 방법을 보여줍니다. 이러한 사영은 원래 신호와 동일한 시간 스케일을 갖습니다. 즉, 데시메이션 DWT(이산 웨이블릿 변환)를 기반으로 MRA(다중분해능 분석)를 구할 수 있습니다. 사영을 합산하면 신호를 복구할 수 있습니다. 자세한 내용은 Practical Introduction to Multiresolution Analysis 항목을 참조하십시오.

    신호를 불러오고 플로팅합니다.

    load noissin
    plot(noissin)
    title("Original Signal")

    Figure contains an axes object. The axes object with title Original Signal contains an object of type line.

    wavedec 함수와 db4 웨이블릿을 사용하여 신호의 이산 웨이블릿 분해를 레벨 3까지 구합니다.

    level = 3;
    wv = "db4";
    [C,L] = wavedec(noissin,level,wv);

    MRA를 저장할 행렬을 사전할당합니다. 행 개수는 분해 레벨보다 하나 많고, 열 개수는 신호의 길이와 동일합니다.

    mra = zeros(level+1,numel(noissin));

    wrcoef 함수를 사용하여 3개의 웨이블릿(세부성분) 부분공간으로의 신호의 사영을 구합니다. 그런 다음 마지막 스케일링(성긴 스케일 또는 근사 스케일) 부분공간으로의 사영을 구합니다.

    for k=1:level
        mra(k,:) = wrcoef("d",C,L,wv,k);
    end
    mra(end,:) = wrcoef("a",C,L,wv,level);

    MRA의 행별 합산이 원래 신호와 동일한지 확인합니다.

    mraSum = sum(mra,1);
    max(abs(mraSum-noissin))
    ans = 
    1.6591e-12
    

    MRA를 플로팅합니다.

    tiledlayout(level+1,1)
    for k=1:level
        nexttile
        plot(mra(k,:))
        title("Projection Onto Detail Subspace "+num2str(k))
    end
    nexttile
    plot(mra(end,:))
    title("Projection Onto Approximation Subspace")

    Figure contains 4 axes objects. Axes object 1 with title Projection Onto Detail Subspace 1 contains an object of type line. Axes object 2 with title Projection Onto Detail Subspace 2 contains an object of type line. Axes object 3 with title Projection Onto Detail Subspace 3 contains an object of type line. Axes object 4 with title Projection Onto Approximation Subspace contains an object of type line.

    입력 인수

    모두 축소

    복원할 계수로, 각각 근사 계수 또는 세부성분 계수에 대해 'a' 또는 'd'로 지정됩니다.

    1차원 신호의 웨이블릿 분해로, 실수 값 벡터로 지정됩니다. 벡터는 웨이블릿 계수를 포함합니다. 북키핑(bookkeeping) 벡터 l은 레벨별 계수를 포함합니다. wavedec 항목을 참조하십시오.

    데이터형: double | single

    북키핑(bookkeeping) 벡터로, 양의 정수로 구성된 벡터로 지정됩니다. 북키핑 벡터는 웨이블릿 분해 c의 계수를 레벨별로 구문 분석하는 데 사용됩니다. wavedec 항목을 참조하십시오.

    데이터형: double | single

    웨이블릿 분해 구조 [c,l]을 만드는 데 사용되는 분석 웨이블릿으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. wrcoef는 직교 또는 쌍직교 웨이블릿만 지원합니다. wfilters 항목을 참조하십시오.

    웨이블릿 복원 필터로, 짝수 길이 실수 값 벡터의 쌍으로 지정됩니다. LoR은 저역통과 복원 필터이고 HiR은 고역통과 복원 필터입니다. LoRHiR의 길이는 동일해야 합니다. 자세한 내용은 wfilters 항목을 참조하십시오.

    계수 레벨로, 음이 아닌 정수로 지정됩니다. type'a'인 경우, n은 0이 될 수 있습니다. 그렇지 않으면 n은 엄격히 n ≤ length(l)-2가 되도록 하는 양의 정수입니다. n의 디폴트 값은 length(l)-2입니다.

    버전 내역

    R2006a 이전에 개발됨

    참고 항목

    | |