Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
전산물리학:압축_센싱 [2019/02/01 13:40] – [푸리에 공간에서 희박한 신호] admin전산물리학:압축_센싱 [2024/07/24 11:17] (current) admin
Line 9: Line 9:
 =====코드 구현===== =====코드 구현=====
 아래는 참고문헌 항목 중 codeproject.com에 있는 Matlab 코드를 python으로 옮긴 것이다. 아래는 참고문헌 항목 중 codeproject.com에 있는 Matlab 코드를 python으로 옮긴 것이다.
-<Code:python>+<code:python>
 from __future__ import print_function,division from __future__ import print_function,division
 from numpy import zeros,dot,transpose from numpy import zeros,dot,transpose
Line 37: Line 37:
 plot(xp-x) plot(xp-x)
 show() show()
-</Code>+</code>
 신호의 길이는 $N=256$인데 이 중 $P=5$개 지점에서만 0이 아닌 값을 가진다. 이 신호는 그런 의미에서 '희박'하다. $K=64$는 관찰의 횟수로서 $N$의 1/4에 불과하다. choice 명령을 써서 5개의 점을 임의로 골라내고 그 곳들의 값을 정규(normal) 분포로부터 결정한다. 신호의 길이는 $N=256$인데 이 중 $P=5$개 지점에서만 0이 아닌 값을 가진다. 이 신호는 그런 의미에서 '희박'하다. $K=64$는 관찰의 횟수로서 $N$의 1/4에 불과하다. choice 명령을 써서 5개의 점을 임의로 골라내고 그 곳들의 값을 정규(normal) 분포로부터 결정한다.
  
Line 56: Line 56:
  
 코드는 다음처럼 작성할 수 있다. 코드는 다음처럼 작성할 수 있다.
-<Code:python>+<code:python>
 from __future__ import print_function,division from __future__ import print_function,division
 from math import pi from math import pi
Line 97: Line 97:
 plot(x_rec, ".") plot(x_rec, ".")
 show() show()
-</Code>+</code>
 코드의 실행 결과는 아래 그림들처럼 나온다. 코드의 실행 결과는 아래 그림들처럼 나온다.
  
Line 104: Line 104:
  
 첫 번째 그림은 원래 신호와 그 신호를 추출하기 위해서 무작위로 고른 위치들을 보여준다. 두 번째 그림은 원래 신호(실선)와 복원된 신호(점)를 보여주고 있다. 새넌-나이키스트 정리에서 요구하는 것보다 적은 수의 점을 추출했음에도 불구하고 복원된 신호는 원래 신호와 상당히 가깝다. 첫 번째 그림은 원래 신호와 그 신호를 추출하기 위해서 무작위로 고른 위치들을 보여준다. 두 번째 그림은 원래 신호(실선)와 복원된 신호(점)를 보여주고 있다. 새넌-나이키스트 정리에서 요구하는 것보다 적은 수의 점을 추출했음에도 불구하고 복원된 신호는 원래 신호와 상당히 가깝다.
 +
 +=====통계물리적 접근=====
 +
 +2012년, L1 norm에 기반한 방법보다 더 적은 데이터를 가지고도 신호를 복원하는 방법이 개발되었다 [Krzakala et al., PRX 2, 021005 (2012)].
 +
 +
 ======참고문헌====== ======참고문헌======
   * https://www.codeproject.com/Articles/852910/Compressed-Sensing-Intro-Tutorial-w-Matlab   * https://www.codeproject.com/Articles/852910/Compressed-Sensing-Intro-Tutorial-w-Matlab
   * http://www.pyrunner.com/weblog/2016/05/26/compressed-sensing-python/   * http://www.pyrunner.com/weblog/2016/05/26/compressed-sensing-python/
   * https://dilawarnotes.wordpress.com/2017/09/06/compressed-sensing-a-python-demo/   * https://dilawarnotes.wordpress.com/2017/09/06/compressed-sensing-a-python-demo/
 +  * https://doi.org/10.1103/PhysRevX.2.021005
  • 전산물리학/압축_센싱.1548996040.txt.gz
  • Last modified: 2023/09/05 15:46
  • (external edit)