r = snr(x)는 실수 값 정현파 입력 신호 x의 SNR을 dBc(반송파 기준 데시벨) 단위로 반환합니다. SNR은 입력값과 같은 길이의 수정된 주기도를 사용하여 결정됩니다. 수정된 주기도는 β = 38인 카이저 윈도우를 사용합니다. 이 결과에서는 기본주파수(Fundamental)를 포함하여 처음 6개 고조파(Harmonic)의 전력이 제외됩니다.
r = snr(sxx,f,rbw,n,"power")는 SNR을 계산할 때 제외할 고조파 수 n을 지정합니다. n의 디폴트 값은 6이고 이 중에 기본주파수가 포함됩니다.
r = snr(___,"aliased")는 나이퀴스트 범위로 에일리어싱된 기본주파수의 고조파를 제거합니다. 정현파 입력 신호가 언더샘플링된 경우 이 옵션을 사용하십시오. 이 옵션을 지정하지 않거나 "omitaliases"로 설정하면 이 함수는 나이퀴스트 범위를 벗어난 기본주파수의 고조파를 모두 잡음으로 처리합니다.
snr(___)(출력 인수 없음)은 현재 Figure 창에 신호의 스펙트럼을 플로팅하고 각 주요 특징을 레이블로 표시합니다. 각각 다른 색을 사용하여 기본주파수 성분(Fundamental), DC 값과 고조파(DC and Harmonics), 잡음(Noise)을 그립니다. SNR은 이 플롯 위에 표시됩니다. 이 구문 형식은 snr(xi,y)를 제외하고 위에 나열된 모든 구문에 사용할 수 있습니다.
48kHz로 샘플링된 2.5kHz 정현파의 주기도 파워 스펙트럼 밀도(PSD) 추정값을 구합니다. 표준편차가 0.00001인 백색 잡음을 추가합니다. 이 값을 입력값으로 사용하여 SNR을 확인합니다. 재현 가능한 결과를 얻기 위해 난수 생성기를 디폴트 설정으로 구성합니다.
rng default
Fi = 2500;
Fs = 48e3;
N = 1024;
x = sin(2*pi*Fi/Fs*(1:N)) + 0.00001*randn(1,N);
w = kaiser(numel(x),38);
[Pxx, F] = periodogram(x,w,numel(x),Fs);
SNR = snr(Pxx,F,'psd')
2.1kHz 톤을 입력값으로 사용하는 약한 비선형 증폭기(Weakly Nonlinear Amplifier)의 출력과 유사한 신호를 생성합니다. 이 신호는 10kHz로 1초 동안 샘플링됩니다. 신호의 파워 스펙트럼을 계산하고 플로팅합니다. 계산에 β = 38인 카이저 윈도우를 사용합니다.
Fs = 10000;
f = 2100;
t = 0:1/Fs:1;
x = tanh(sin(2*pi*f*t)+0.1) + 0.001*randn(1,length(t));
periodogram(x,kaiser(length(x),38),[],Fs,'power')
고조파는 4.2kHz, 6.3kHz, 8.4kHz, 10.5kHz, 12.6kHz, 14.7kHz 주파수의 잡음에서 두드러집니다. 첫 번째 주파수를 제외한 모든 주파수가 나이퀴스트 주파수보다 큽니다. 고조파는 각각 3.7kHz, 1.6kHz, 0.5kHz, 2.6kHz, 4.7kHz로 에일리어싱됩니다.
신호의 신호 대 잡음비를 계산합니다. 기본적으로, snr은 에일리어싱된 고조파를 잡음의 일부로 처리합니다.
함수 thd, sfdr, sinad, snr은 정현파를 인가한 약한 비선형 시스템(Weakly Nonlinear System)의 응답을 측정합니다.
시간 영역 입력값이 주어지면 snr는 사이드로브 감쇠량이 큰 카이저 윈도우를 사용하여 주기도를 계산합니다. 기본주파수를 구하기 위해 이 알고리즘은 주기도에서 0이 아닌 가장 큰 스펙트럼 성분을 찾습니다. 그런 다음, 최댓값에서 단조 감소하며 멀어지는 모든 인접 Bin의 중심 모멘트를 계산합니다. 검출이 가능하려면 기본주파수가 적어도 두 번째 주파수 Bin에 포함되어야 합니다. 더 높은 고조파는 기본주파수의 정수 배에 놓여 있습니다. 고조파가 다른 고조파 근방에 있는 단조 감소 영역에 있는 경우 그 전력은 큰 고조파에 속하는 것으로 간주됩니다. 큰 고조파는 기본주파수일 수도 있고 기본주파수가 아닐 수도 있습니다.
이 함수는 잡음만 포함하는 영역의 전력 중앙값을 사용하여 잡음 수준을 추정합니다. DC 성분은 계산에서 제외됩니다. 각 지점의 잡음은 그 지점에서 예상되는 수준과 그 지점의 세로 좌표 중 더 작은 값으로 지정됩니다. 이 잡음이 신호와 고조파의 값으로부터 감산됩니다.
기본주파수가 신호에서 가장 높은 스펙트럼 성분이 아닐 경우 snr이 실패합니다.
주파수 성분이 카이저 윈도우의 사이드로브 폭을 수용할 만큼 충분히 떨어져 있는지 확인하십시오. 그렇지 않을 경우 "power" 플래그를 사용하고 다른 윈도우로 주기도를 계산할 수 있습니다.