주요 콘텐츠

sinad

신호 대 잡음 및 왜곡비

설명

r = sinad(x)는 실수 값 정현파 신호 x의 신호 대 잡음 및 왜곡비(SINAD)를 dBc로 반환합니다. SINAD는 입력 신호와 같은 길이의 수정된 주기도를 사용하여 결정됩니다. 수정된 주기도는 β = 38인 카이저 윈도우를 사용합니다.

예제

r = sinad(x,fs)는 입력 신호 x의 샘플 레이트 fs를 지정합니다. fs를 지정하지 않은 경우 샘플 레이트는 1이 디폴트 값으로 설정됩니다.

예제

r = sinad(pxx,f,"psd")는 입력값 pxx를 PSD(단측 파워 스펙트럼 밀도) 추정값으로 지정합니다. fpxx의 PSD 추정값에 대응되는 주파수로 구성된 벡터입니다.

예제

r = sinad(sxx,f,rbw,"power")는 입력값을 단측 파워 스펙트럼으로 지정합니다. rbw는 각 전력 추정값이 적분되는 분해능 대역폭입니다.

[r,totdistpow] = sinad(___)는 신호의 총 잡음과 고조파 왜곡 전력(단위: dB)을 반환합니다.

sinad(___)(출력 인수 없음)은 현재 Figure 창에 신호의 스펙트럼을 플로팅하고 각 기본주파수 성분을 레이블로 표시합니다. 각각 다른 색을 사용하여 기본주파수 성분, DC 값, 잡음을 그립니다. SINAD는 플롯 위에 표시됩니다.

예제

예제

모두 축소

두 신호를 만듭니다. 두 신호 모두 진폭이 1인 기본주파수 π/4 rad/sample과 진폭이 0.025인 주파수 π/2 rad/sample의 1차 고조파를 갖습니다. 신호 중 하나에는 분산이 0.052인 가산성 백색 가우스 잡음(AWGN)도 있습니다.

두 신호를 만듭니다. 재현 가능한 결과를 얻기 위해 난수 생성기를 디폴트 설정으로 구성합니다. 가산성 잡음이 없는 신호의 SINAD를 결정하고 그 결과를 이론적인 SINAD와 비교합니다.

n = 0:159;
x = cos(pi/4*n)+0.025*sin(pi/2*n);
rng default

y = cos(pi/4*n)+0.025*sin(pi/2*n)+0.05*randn(size(n));
r = sinad(x)
r = 
32.0412
powfund = 1;
powharm = 0.025^2;
thSINAD = 10*log10(powfund/powharm)
thSINAD = 
32.0412

가산성 잡음이 있는 정현파 신호에 대한 SINAD를 결정합니다. 가산성 잡음의 이론적인 분산을 포함시켰을 때 SINAD가 어떻게 근사되는지를 보여줍니다.

r = sinad(y)
r = 
22.8085
varnoise = 0.05^2;
thSINAD = 10*log10(powfund/(powharm+varnoise))
thSINAD = 
25.0515

480kHz로 샘플링되고 기본주파수 1kHz와 단위 진폭을 갖는 신호를 만듭니다. 이 신호는 추가로 진폭이 0.02인 1차 고조파와 분산이 0.012인 가산성 백색 가우스 잡음(AWGN)을 포함합니다.

SINAD를 결정하고 그 결과를 이론적인 SINAD와 비교합니다.

fs = 48e4;
t = 0:1/fs:1-1/fs;
rng default

x = cos(2*pi*1000*t)+0.02*sin(2*pi*2000*t)+0.01*randn(size(t));
r = sinad(x,fs)
r = 
32.2058
powfund = 1;
powharm = 0.02^2;
varnoise = 0.01^2;
thSINAD = 10*log10(powfund/(powharm+varnoise*(1/fs)))
thSINAD = 
33.9794

480kHz로 샘플링되고 기본주파수 1kHz와 단위 진폭을 갖는 신호를 만듭니다. 이 신호는 추가로 진폭이 0.02인 1차 고조파와 표준편차가 0.01인 가산성 백색 가우스 잡음(AWGN)을 포함합니다. 재현 가능한 결과를 얻기 위해 난수 생성기를 디폴트 설정으로 구성합니다.

신호의 주기도를 구하고 이를 sinad에 대한 입력값으로 사용합니다.

fs = 48e4;
t = 0:1/fs:1-1/fs;

rng default
x = cos(2*pi*1000*t)+0.02*sin(2*pi*2000*t)+0.01*randn(size(t));

[pxx,f] = periodogram(x,rectwin(length(x)),length(x),fs);
r = sinad(pxx,f,'psd')
r = 
32.2109

50kHz로 샘플링된 주파수 2.5kHz의 정현파를 생성합니다. 표준편차가 0.00005인 가우스 백색 잡음을 신호에 추가합니다. 약한 비선형 증폭기를 통해 결과를 전달합니다. SINAD를 플로팅합니다.

fs = 5e4;
f0 = 2.5e3;
N = 1024;
t = (0:N-1)/fs;

ct = cos(2*pi*f0*t);
cd = ct + 0.00005*randn(size(ct));

amp = [1e-5 5e-6 -1e-3 6e-5 1 25e-3];
sgn = polyval(amp,cd);

sinad(sgn,fs);

Figure contains an axes object. The axes object with title SINAD: 72.10 dB, xlabel Frequency (kHz), ylabel Power (dB) contains 7 objects of type line, text. These objects represent Fundamental, Noise and Distortion, DC (excluded).

이 플롯에서는 비율을 계산하는 데 사용된 스펙트럼과 잡음으로 처리되는 영역을 보여줍니다. DC 레벨과 기본주파수는 잡음 계산에서 제외됩니다. 기본주파수는 레이블이 지정되어 있습니다.

입력 인수

모두 축소

실수 값을 갖는 정현파 입력 신호로, 행 벡터나 열 벡터로 지정됩니다.

예: cos(pi/4*(0:159))+cos(pi/2*(0:159))

데이터형: single | double

샘플 레이트로, 양의 스칼라로 지정됩니다. 샘플 레이트는 단위 시간당 샘플 개수입니다. 시간 단위가 초이면 샘플 레이트의 단위는 Hz입니다.

단측 PSD 추정값으로, 음이 아닌 실수 값을 갖는 열 벡터로 지정됩니다.

파워 스펙트럼 밀도는 데시벨이 아닌 선형 단위로 표현해야 합니다. db2pow를 사용하여 데시벨 값을 전력 값으로 변환합니다.

예: [pxx,f] = periodogram(cos(pi./[4;2]*(0:159))'+randn(160,2))는 2π Hz로 샘플링되고 잡음이 있는 2채널 정현파의 주기도 PSD 추정값과 이 추정값이 계산된 주파수를 지정합니다.

데이터형: single | double

단측 PSD 추정값 pxx에 대응되는 순환 주파수로, 행 벡터나 열 벡터로 지정됩니다. f의 첫 번째 요소는 0이어야 합니다.

데이터형: double | single

파워 스펙트럼으로, 음이 아닌 실수 값 행 벡터나 열 벡터로 지정됩니다.

파워 스펙트럼은 데시벨이 아닌 선형 단위로 표현해야 합니다. db2pow를 사용하여 데시벨 값을 전력 값으로 변환합니다.

예: [sxx,w] = periodogram(cos(pi./[4;2]*(0:159))'+randn(160,2),'power')는 백색 가우스 잡음에 묻힌 2채널 정현파의 주기도 파워 스펙트럼 추정값과 이 추정값이 계산된 정규화 주파수를 지정합니다.

분해능 대역폭(Resolution Bandwidth)으로, 양의 스칼라로 지정됩니다. 분해능 대역폭은 이산 푸리에 변환의 주파수 분해능과 윈도우의 등가 잡음 대역폭의 곱입니다.

출력 인수

모두 축소

신호 대 잡음 및 왜곡비(단위: dBc)로, 실수 값 스칼라로 반환됩니다.

신호의 총 잡음 및 고조파 왜곡 전력으로, 실수 값 스칼라(단위: dB)로 반환됩니다.

세부 정보

모두 축소

확장 기능

모두 확장

버전 내역

R2013b에 개발됨

모두 확장

참고 항목

| | |