더 좋은 점 : 업 샘플링 또는 다운 샘플링?


13

두 신호 또는 곡선을 비교하고 싶습니다. 30Hz에서 샘플링 된 곡선 2000Hz에서 곡선 샘플

불행히도 샘플 속도가 다릅니다. 첫 번째는 30Hz에서 샘플링되고 두 번째는 2000Hz에서 샘플링됩니다. Matlab에는 '재 샘플링'기능이 있으며 비교가 훨씬 쉬울 것이라고 생각했습니다.

내 질문은 : 두 번째 커브를 다운 샘플링하거나 첫 번째 커브를 업 샘플링하는 것이 더 현명합니까?

편집 : 나는 내가 말한대로했다. 왼쪽 그림에는 원래 곡선이 있습니다. 오른쪽의 곡선이 다시 샘플링됩니다. 오른쪽 상단이 업 샘플링되고 오른쪽 하단이 다운 샘플링됩니다.

리샘플링 할 때 커브 길이가 다르다는 것을 알고 있습니다. 그러나 두 번째 신호는 첫 번째 신호 길이로 잘립니다. 비교


1
나는 당신의 질문을 찬성했습니다. 어느 쪽이 더 현명하다고 생각하십니까?

매우 높은 정밀도가 중요하지 않은 경우 (이 경우에는 문제가되지 않는다) 특히 다운 프로세스가 훨씬 빨라지고 작업 시간을
소중하게

@ Stanley Pawlukiewicz는 분명히 다운 샘플링으로 작은 피크를 모두 잃습니다. 따라서 업 샘플링이 진행될 수 있습니다. 그런 다음 다시 작은 봉우리가 필요하지 않습니다. 나는 두 번째 신호를 부드럽게하는 것에 대해 생각했습니다. 따라서 필자의 경우 샘플을 올리거나 내릴 경우 실제로 중요하지 않을 수 있습니다.
NelsonOrange

더 이상 피드백과 답변이 필요하십니까?
Laurent Duval

답변:


18

한마디로 :

  • 업 샘플링 : 않습니다 /해야 느슨한 정보 (현명 할 경우), 다음 안전 ,
  • 다운 샘플링 (어리석게하는 경우에) 아직, 정보를 잃어 버릴 수 있습니다 계산적으로 효율적 .

당신이 다른 속도로 데이터를 비교 그렇다면, 및 평가 단계에서 하나 개의 시도는 비교가 수행해야하는 방법을 정의 할 때 (어떤 통계와 비교되는 특징있는 외관, 효율적으로 정밀, 견고성, 등 등) 매우 기본적인 첫 번째 접근법은 두 신호를 정수 인자로 업 샘플링하여 샘플링을 조정하는 것 입니다. 6000Hz는 두 가지 모두 작동 할 수 있습니다.

DSP 실습의 이유는 다음과 같습니다.

  • 정수 업 샘플링을 사용하면 까다로운 필터링 기술을 사용할 필요가 없으며 간단한 선형 보간이 쉽습니다. 업 샘플링은 정보를 추가한다는 점을 기억하십시오.
  • 신호의 스케일이 같으면 노이즈, 가변성, 기울기, 미분 등 피처를 추출하고 비교할 수 있습니다. 올바른 스케일 / 오프셋 보정 (같은 진폭이 없음)을 적용하고 선형 또는 비 유사 기능이 다른 도메인에 존재하는지 확인하기위한 선형 변환 (푸리에 등)
  • 이 단계에서 알고리즘을 구축하는 데 필요한 기능 / 메트릭을 품질 화하고 수량화 할 수 있어야 합니다. 그리고 두 데이터에서 잃을 수있는 것을 추정 할 수 있습니다. 예를 들어, 알고리즘을 생성하고 신호 다운 샘플링이 얼마나 강력한 지, 얼마나 멀리 갈 수 있는지 확인할 수 있습니다. 여기에서 알고리즘이 더 효율적으로 시작됩니다.

일단 시간을 보냈다면, 처음부터 다시 시작할 준비가되었으며, 안전하고 효율적으로 도달 하는 방법 등 으로 다운 샘플링해야하는지 여부를 결정합니다 .

대안을 제공하기 위해 푸리에 영역에서 데이터를 비교하기로 결정한 경우 길이와 샘플링 속도가 다른 두 개의 신호를 같은 수의 푸리에 계수로 쉽게 캐스팅하여 주파수 영역에서 비교할 수 있습니다.


14
다운 샘플링은 정보가 현명하지 않은 경우에도 거의 항상 정보를 잃게됩니다. 그러나 정보를 잃는 것은 실제로 현명한 것일 수 있습니다.
leftaroundabout

@leftaroundabout 다운 샘플링이 어떤 에지 사례에서 정보를 잃지 않을 수 있습니까?
Willem

2
@leftaroundabout 동의하지 않습니다. 정보 손실은 정보를 유지하는 것보다 항상 나쁩니다. 현명한 것은 정보 손실 자체가 아니라 신호를 더 잘 표현하기 위해 어떤 정보를 버릴지를 아는 것입니다.
AlexTP

5
@Willem : 매우 명백한 경우, DC 신호를 단일 샘플로 다운 샘플링 할 수 있습니다. 일반적으로 (새로운) 나이키 스트 한계를 초과하는 성분이없는 신호는 안전하게 다운 샘플링 될 수 있습니다.
MSalters

1
1 샘플의 원래 신호와 동일한 신호로 다시 변환 할 수 있기 때문에 DC 신호에서 1 샘플 신호로 정보가 손실되지 않는다고 주장 할 수 있습니다. 추가 정보가없는 사람에게 1 개의 샘플 신호를주고 "이것이 DC 신호를 나타 냅니까?" 대답은 "모르는 정보가 충분하지 않다는 것"입니다.
익명 겁쟁이

7

plot (x, y)와 같은 함수를 사용하는 경우 동일한 그래프에 표시하는 가장 쉬운 방법은 단순히 리샘플링하지 않고 각 x 벡터를 각 신호에 적절한 값으로 채우는 것입니다. 당신은 디스플레이에 원하는.

원하는 경우 레이블과 범례가 다른 두 개의 x 축 (각 곡선에 대해 하나씩)을 갖도록 플롯을 설정할 수도 있습니다.

이제 리샘플링에 대해 샘플링 주파수에 Fs를 사용합니다.

샘플링 된 신호는 Fs / 2 이상의 주파수 성분을 포함 할 수 없습니다. 대역폭이 한정되어 있습니다.

또한, 주파수 F까지의 주파수 성분만을 포함하는 신호는 2F의 샘플링 속도로 정확하게 표현 될 수있다.

이 "정확한"표현은 시각적 인 것이 아니라 수학적인 것입니다. 시각적으로 좋은 표현을 위해서는주기 당 5-10 개의 샘플이 있으므로 (Fs / 10 이상의 주목할만한 주파수 성분이 없음) 뇌가 점을 연결하는 데 실제로 도움이됩니다. 이 그림을 참조하십시오. 동일한 신호, 낮은 곡선은 샘플링 속도가 낮고 주파수가 Fs / 2보다 낮기 때문에 정보 손실이 없지만 여전히 쓰레기처럼 보입니다.

여기에 이미지 설명을 입력하십시오

그래도 정확히 같은 신호입니다. sinc 필터를 사용하여 하단에있는 것을 오버 샘플링 (재구성)하면 상단에있는 필터를 얻게됩니다.

데시 메이션 (다운 샘플링)은 새로운 Fs / 2보다 높은 모든 주파수 성분을 신호로 접습니다. 이것이 우리가 보통 데시 메이터 앞에 가파른 저역 통과 필터를 설치하는 이유입니다. 예를 들어, Fs = 2000Hz에서 Fs = 30Hz로 다운 샘플링하려면 먼저 15Hz 미만의 비트 오프로 고차 저역 통과를 적용한 다음 데시 메이트합니다.

그러나이 필터는 과도 응답 문제를 유발하고 특정 주파수에서 위상 지연이 발생하며 신호의 시각적 측면을 변경하여 아이디어를 시각적으로 비교하려는 경우 원하지 않는 경우가 있습니다. 위의 규칙을 적용하고, 너무 많이 다운 샘플링하지 말고, 신호 모양이 무언가를 의미하도록하려면 Fs를 항상 가장 높은 관심 주파수로 5-10 배로 유지하십시오. 200MHz 스코프는 1-2Gsps로 샘플링해야하는 이유입니다.

내 질문은 : 두 번째 커브를 다운 샘플링하거나 첫 번째 커브를 업 샘플링하는 것이 더 현명합니까?

위에서 말했듯이, 가장 현명한 것은 데이터를 전혀 엉망으로 만들지 않고 단순히 동일한 그래프에서 각각의 x 축을 제시하는 것입니다.

경우에 따라 샘플링 속도 변환이 필요할 수 있습니다. 예를 들어, 포인트 수를 줄이거 나, 메모리 사용을 줄이거 나, 더 빠르게 만들거나, 두 신호가 동일한 "x"좌표를 사용하여 계산을 수행하게하려면.

이 경우 중간 F를 사용하고, 높은 Fs로 신호를 다운 샘플링하고, 낮은 Fs로 신호를 업 샘플링 할 수도 있습니다. 또는 높은 Fs를 가진 샘플을 다운 샘플링하십시오.

나이키 스트 (Nyquist) 기준을 염두에두고 너무 낮은 샘플 속도를 선택하지 않거나 높은 Fs 신호에서 파형 모양의 충실도를 잃게되면 저역 통과 필터 등으로 인해 위상 편이가 발생합니다. 무시해도 좋으며 정보에 입각 한 선택을 할 수 있습니다. 나는

"x"좌표를 일치시키기 위해 선형 보간법을 사용하는 경우 상당히 높은 Fs가 필요하다는 것을 기억하십시오. 보간은 위 그림의 상단 신호에서 작동하며 하단의 신호에서는 작동하지 않습니다. min, max 등에 관심이 있다면 동일합니다.

그리고 ... 오버 샘플링 / 업 샘플링은 최소한 시각적으로 과도 응답을 망칠 것입니다. 예를 들어 단계를 오버 샘플링하면 sinc 필터 임펄스 응답으로 인해 많은 벨소리가 발생합니다. 대역 제한 신호를 얻을 수 있고 정사각형 모서리가있는 멋진 단계에는 실제로 무한한 대역폭이 있기 때문입니다.

예를 들어 구형파를 보겠습니다. 원래 샘플링 된 신호를 생각해보십시오. 0 0 0 1 1 1 0 0 0 1 1 1 ... 뇌에 구형파가 보입니다.

그러나 실제로는 각 샘플을 점으로 그려야하며 점 사이에는 아무 것도 없습니다. 샘플링의 요점입니다. 샘플 사이에는 아무 것도 없습니다. 따라서이 구형파가 sinc 보간법을 사용하여 오버 샘플링되면 재미있어 보입니다.

여기에 이미지 설명을 입력하십시오

이것은 단순히 대역 제한 구형파의 시각적 표현입니다. 흔들림은 다소 존재하거나 ... 아닐 수도 있습니다. 그들이 원래 신호에 있는지 여부를 알 수있는 방법이 없습니다. 이 경우 솔루션은 더 높은 샘플링 속도로 원래 구형파를 획득하여 에지에서 더 나은 해상도를 얻는 것이 가장 좋았을 것입니다. 이상적으로는 에지에서 여러 샘플을 원하므로 더 이상 무한한 대역폭 단계를 거치지 않습니다. 그런 다음 이러한 신호를 오버 샘플링하면 결과에 시각적 인공물이 없습니다.

어쨌든. 보시다시피 ... x 축을 엉망으로 만듭니다. 훨씬 간단합니다.


4

다운 샘플링은 정보를 잃습니다. 요소가 정수인 경우 업 샘플링은 손실이 없지만 (요소도 기억함) 인수가 정수가 아닌 경우 일부 정보가 손실됩니다. 업 샘플링은 매우 구체적인 리샘플링 요소에 대해 이론적으로 다운 샘플링보다 더 많은 정보를 잃을 수 있습니다.

어느 것을 사용해야합니까? 필요한 확실성 수준에 따라 다릅니다.

수학적 확실성이 필요하지 않고 단지 추론을 원한다면 다운 샘플링이 더 빠르며 업 샘플링이 더 정확 합니다.

계산의 정확성에 한계를 두어야 할 경우 가능하지만 도움이 될 수는 없습니다.


+1, 당신은 매우 간결한 답변으로 몇 가지 중요한 정보를 짤 수 있었기 때문입니다.
dsp_user

3

"비교"와 "더 현명한"의 의미에 따라 다릅니다. Matlab에서 어렵지 않은 현명한 일은 두 가지 방법 모두를 수행하고 스스로 결정하는 것입니다.

실제로, 두 가지 접근 방식의 결과로 질문을 수정하면, 나는 당신의 질문을 반대하고 더 많은 사람들이 그 질문에 흥미를 느끼게 될 것이며, "비교"를 알아내는 데 도움이 될 것입니다


1

업 샘플링을 수행 할 때 발생하는 문제인이 작업에 중요한 문제를 지적하고자합니다. 신호가 업 샘플링되고 데이터 엔드 포인트가 0 값에서 멀어지면 에지 효과 가 발생합니다. 실제 경험에서이 바람직하지 않은 영향을 제거해야합니다. 나는이 커뮤니티에 내가 이해하는 데 도움이 될 이미지와 코드를 쓴 짧은 에세이를 공유한다.

https://medium.com/@davidpinyol91/edge-effects-when-resampling-a-signal-on-matlab-how-to-solve-it-cc6458ab1306

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.