블로그 이미지
짱의 꽁기꽁기 월드입니다 ㅎ Baracuda

카테고리

분류 전체보기 (4858)
Days of my life (45)
좋은 글 좋은 생각 (93)
Cartoon~ (114)
Funny, HaHa (4450)
Music~ (6)
보울~~~링 (46)
Etc (59)
Private (13)
Utility (14)
XK2 (1)
Forte Koup (5)
Total
Today
Yesterday
보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

SWT-200

Etc / 2015. 11. 4. 20:44

 

 

Posted by Baracuda
, |

철강규격은 국가규격, 영향력 있는 단체 규격이 있습니다.

그 중에도  세계적으로 많이 사용되는 규격이 있습니다.

 

대표적인 규격이 미국의 ASTM이 있고

유럽의 EN(DIN)규격이 있으며

 

아시아에는 JIS가 있고

대한민국의 KS가 있습니다.

 

물론 다른 각국의 국가규격과 단체규격인 ASME, AISI, API등의 철강규격과

선급규격으로 DNV(노르웨이), LR(영), ABS(미), GL(독), KR(한국)등이 있습니다.

 

이러한 규격에 필수적으로 등장하는 요소가 강재의 화학성분(Chemical Composition)입니다.

어느 정도의 철강지식이 있으면, 철강 5원소만 보고도 개략적인 감이 잡힙니다.

 

재미로 말하는 것이지만 인간도 혈액형에 따라 성격이 어떻다고 감을 잡듯이

철강 5원소의 구성형태와 각각의 원소가 얼마나 있는지에 따라 강재의 성격이 눈에 보입니다.

 

KS와 JIS에서 보는 철강 5원소나

ASTM에서 보는 철강 5원소나 화학원소에서는 차이가 없습니다.

 

그 중에 대표적인 첫 원소가 탄소(C)입니다.

탄소는 적으면 철(Iron) , 철보다 탄소가 많으면 강(steel)

 

강보다 탄소가 많으면 주철(Cast)로 강재를 대분류하며

탄소량에 따라 철강재 이름이 붙여지기도 하고, 변하기도 할정도로 탄소의 영향력은 절대적이며

 

탄소는 철강재의 강도 결정요소이기도 합니다.

탄소량이 증가함에 따라 인장강도, 경도, 전기저항, 항장력은 증가하며

 

탄소량이 증가함에 따라 인성, 충격치, 비중, 열전도도, 열팽창계수는 감소합니다.

규소(Si)는 강(Steel)의 기계적 성질에는 큰 영향을 미치지는 않지만

 

강의 경도, 인장강도를 높이며, 연신율과 충격값을 감소시키는 역할을 하며

망간(Mn)은 제강과정에서 강의 유해요소인 산소(S)와 황(S)와 결합해 탈산, 탈황 첨가제로 사용되며

 

철강재의 항복강도 향상원소이기도 합니다.

인(P)는 강 중에 균일하게 분포죄어 있다면 큰 문제가 되지는 않지만, 강에 해로운 Fe3P를 만들고

 

MnS, MnO2 등과 함께 강의 약하게 하고, 파괴의 원인이 됩니다.

황(S)는 슬라그의 일종으로 S는 Mn과 결합해 MnS로 강중에 남아 있거나

 

가벼운 슬러그로 떠 올라 제거되지만, Fe와 반응해 FeS(황화철)로 강재를   취약하게 하는 원소로

남아 강재 파괴의 원인으로 되어, P와 함께 강재의 청정성을 해치는 요소로 간주 됩니다.

 

위에 나타난 강재의 원소 C, Si, Mn, P, S는

KS, JIS에서 엄연한 강재 원소의 서열입니다.

 

원숭이의 세계에도 서열이 있고

남극에서 썰매를 끄는 개에게도 서열이 있습니다.

 

죽은 고기를 뜯어먹는 아프리카의 독수리도 먹이를 먹는 순서가 있으며

인간에게는 유교에서 가르치는 삼강오륜에 서열 확립 용어로 장유유서가 있습니다.

 

뜨거운 피가 흐르는 동물의 세계, 인간의 세계에만 서열이 있는게 아니라

차가워만 보이는 차도녀, 차도남과 같은 철강재의 중요 5원소에도 서열이 있다니 놀랍기만 합니다.

 

하지만 서열순서에도 동양과 서양의 차이는 있습니다.

KS, JIS가 동양권의 국가규격이고 동양권에서는 C, Si, Mn, P, S 순서로 표시하지만

 

서양권의 대표선수라 할수 있는 ASTM에서는

C, Mn, P, S, Si 순서로 ASTM 규격서에 표시하고 있습니다.

 

동양권에서는 유교의 영향으로 남존여비라는 용어가 있고

서양권에서는 Lady First라는 용어가 있습니다.

 

바라보는 시각과 문화에 따라

중요도의 순서는 금속원소에까지 나타나고 있습니다.

Posted by Baracuda
, |

2012 연봉표

Etc / 2012. 7. 3. 10:08

 

Posted by Baracuda
, |

YP-PB2CB

Etc / 2008. 12. 5. 10:08

Posted by Baracuda
, |

TV를 구입한다면 일단 예산을 잡고 그 예산에 맞는 방식과 화면크기를 알아보신후 브라운관, LCD, PDP 중 자신에게 맞는 방식을 선택하는 것이 좋습니다.

 

PDP는 한가지 취약한 부분이 있는데 그것은 컴퓨터의 바탕화면이나 인터넷화면등의 정지영상이 계속 보여지면 그 영상이 영구적으로 화면에 새겨져버리는 번인 현상이 나타납니다.  따라서 PC를 연결해서 모니터처럼 TV를 사용할 계획이라면 당연히 LCD TV를 선택하는 것이 좋습니다.

 

하지만 일반적으로 대부분의 사람들은 드라마등의 TV방송이나 DVD플레이어를 이용한 영화 감상이라는 TV본연의 목적이 더 중요할 것이기 때문에 화질을 많이 따져야 하는데 특히 LCD와 PDP는 밝은곳과 어두운곳에서 완전히 다른 특성을 나타냅니다.

 

LCD는 첫보기엔 매우 선명해 보이지만 그건 가전매장이 밝아서 나타나는 특징입니다.  일반적인 주 시청시간인 저녁시간에 LCD로 TV시청을 한다면 화면의 어두운부분이 하얗게 떠버리는 특성이 있고 화면 모서리 부분에는 빛샘현상이 나타나 어두운화면이 많은 영화나 드라마를 시청하기에 적합하지 않다고 생각됩니다. 실제 이러한 특성을 전혀 모르고 샀다가 A/S를 신청하는 경우가 많은데 이런경우 "LCD가 원래 이런것이니 그냥 사용하세요. 신경쓰지 않으면 괜찮아요.."라는 답변만 돌어 옵니다.  따라서 영화, 드라마등의 TV시청이 주목적이라면 화질면에서나 가격면에서 LCD보다는 PDP를 추천하고 싶습니다.

 

 

1.색감

 

과거에는 LCD TV를 보면서 홈쇼핑을 하면 낭패를 보는 일이 많았습니다.  그 이유는 LCD특유의 색상 외곡현상이 있기 때문에 보라색 의류를 주문하면 파랑색 의류가 배송되는 경우가 허다했습니다.  물론 이런 색생 외곡 문제는 많이 좋아졌다고 하지만 아직까지 정확한 색상을 표현한다는 점은 PDP에 비해 많이 떨어지는 수준입니다. 이러한 색상외곡의 특성으로인해 밝은 화면을 구현할 경우 더욱 선명한 느낌을 받는데 이로 인해 일반사람들은 LCD가 선명한 화질을 가지고 있다고 생각을 해버리고 LCD의 가격이 비싼것도 이러한 선명함 때문으라고 잘못 생각하는 경우가 많습니다. 결국 많은 사람들이 LCD가 더 비싸고 성능이 좋은 방식이라고 생각하는 경우가 많은데 이것은 LCD의 약점인 색상외곡에서 오는 잘못된 생각입니다.  가격차이가 나는것은 LCD의 공정이 복잡하기 때문에 생산원가가 높을 수 밖에 없기 때문입니다.

 

어쨌든 LCD는 밝은 화면표현이 좋아 화려한 색감을 가졌다고 말씀드릴수 있습니다. 하지만 반대로 어두운 화면의 표현은 좋지 않습니다.  현기술력으론 아무리 고가의 제품도 검정색상 화면을 제대로 표현하는 LCD TV는 없습니다. 또한 어두운 곳에서 보거나 측면에서 보게 되면 모서리쪽의 색상이 하얗게 뜨는 빛샘현상이 나타나는데 이것은 모든 LCD에서 공통적으로 나타나는 현상으로 신경을 쓰지 않는다면 상관은 없겠지만 한면 눈에들어오면 상당히 거슬리는 부분입니다.  저는 개인적으로 이 빛샘현상을 LCD의 최대 단점이라 생각하고 있습니다. 어두운 저녁이면 흐려져 버리는 모서리가 너무 신경이 쓰일텐데 어떻게 다른 사람들은 이러한 점을 무시하면서 "역시 화질은 LCD가 최고야~ "라고 생각하고들 있는지 이해할 수 없습니다.

 

반면 PDP는 주위의 밝기가 밝아버리면 화질이 떨어지는 특징을 가지고 있습니다. 이러한 특징때문에 밝은 환경 조건인 가전매장에서는 LCD와 PDP를 비교할때 LCD가 더욱 선명해 보이고 PDP의 화질이 떨어진다고 생각되는 경향이 나타나는 것입니다.  하지만 실제 가정에서는 밝은 환경보다 저녁시간대의 어두운환경에서의 시청이 많기때문에 이러한 어두운환경에서는 PDP가 더 밝고 풍부한 색감을 보여줄 수 있습니다.

 

결국 LCD는 밝은 곳에서는 선명하고 화려한 색감을 가졌으나 어두운 환경으로 갈 수록 그 화질이 떨어지는 것이고  PDP는 첫보기에 LCD에 비해 선명하거나 화려해 보이지 않지만 어두운 환경으로 갈 수록 LCD를 능가하는 화사한 색감을 보여주는 특징이 있습니다.  따라서 주 시청시간이 낮이라면 LCD가 유리하고  저녁시간이라면 PDP가 유리하다고 할 수 있습니다.

 

 

2. 해상도

 

해상도의 문제는 LCD인지 PDP인지의 문제가 아니라 SD급인지 일반HD급인지 아니면 Full-HD급인지의 문제 입니다.  더욱이 이제는 SD급이 단종되었고 PDP에서도 Full-HD급 제품이 출시되기 때문에 LCD 혹은 PDP의 선택기준은 아니겠지만 사람들은 일반HD급으로 제품을 구입하면 성능이 많이 떨어지는 제품을 구입하는 것으로 오인하는 경향이 있어 언급드리는 부분입니다.

 

매장에가서 직접확인해 보시면 아시겠지만  일반 TV방송을 시청시에는 일반 HD와 Full-HD의 화질차이를 눈으로 직접 느낄수 없는 수준입니다.  또한 그 화질이 좋다는 DVD의 화질도 SD급에 지나지 않습니다. 따라서 TV방송과 영화감상만 하신다면 굳이 Full-HD급 TV를 사야할 이유를 느끼지 못하고 있습니다.

 

 

3. 응답속도

 

LCD TV에 잔상문제가 있다는 말은 많이 접해 보셨겠지만  실제 LCD화면을 보면서 늦은 응답속도 때문에 발생하는 잔상을 눈으로 직접 느끼실 수는 없을 것입니다.  이는 LCD의 응답속도가 사람이 느끼기 어려운 수준으로 발전했기 때문입니다.  실제 가끔 나타나는 흐릿한 화면 일그러짐 현상은 화면 구현시 나타나는 TV문제가 아니라 촬영당시의 카메라 문제입니다. 그럼 눈에 보이지도 않는 화면잔상이 문제될 것이 없다고 생각될수 있으나  빠른 화면 구현시 PDP에비해  LCD가 해상력이 현저히 떨어지기 때문에 눈에 부담을 줄수 있다는 연구보고가 많이 있었습니다.  결국 이 응답속도의 문제는 눈에는 직접 보이지 않지만 아직까지는 LCD가 PDP를 뛰어넘을 수 없는 한계점이라 생각합니다.  

 

 

4. 전기요금

 

일반적으로 PDP가 LCD에 비해 전기를 대단히 많이 소비해 버리는 것으로 잘못 알고 있는경우가 많은데 PDP가 LCD에 비해 표시되는 소비전력이 높은것은 사실이지만 PDP는 LCD와 달리 표시된 소비전력을 모두 소모하는것이 아니기 때문에 그 차이가 매우 작습니다.  화면구성이 전체적으로 어두운 영화를 시청한다고 가정할때는  오히려 PDP가 전기를 적게 사용할 수도 있습니다. 따라서 부과되는 전기요금은 거의 차이가 없다고 생각하시면 될 것입니다.

 

하지만 이런 점을 무시하고 실제 표시되는 소비전력만으로 계산하더라도 누진률이 높지 않은 가정에서는 하루7시간(얼마전 조사된 우리나라평균 TV시청시간) 시청기준으로 아무리 크게 차이나도 그 차이가 한달 5천원을 넘지 않습니다. 그럼 일반적인 요금의 차이는 1천원 이하로 PDP가 많이 소비하거나 오히려 더 적게 소비할 수도 있을 것입니다.

 

하지만 일반적으로 60W 전후를 소비하던 중소형 브라운관 TV를 사용하던 가정에서 200 ~ 400W를 소비해 버리는 대형 TV로 바꾸게 된다면 하루에 10시간씩 TV사청을 한다면 매일 3~5시간동안 에어컨을 사용하는것과 같으므로 이러한 대형 TV를 구입하게 된다면 LCD가 됐건 PDP가 됐건 부담스럽기는 마찬가지일 것입니다. 

 

 

5. 화면크기

 

TV의 사이즈는 집의 평수보다는 시청거리 즉, 거실에서 TV를 놓을 곳과 쇼파를 놓을곳의 거리로 판단을 해야 합니다.  일반적으로 TV사이즈의 3배되는 시청거리를 권장합니다. 따라서 시청거리가 3M내외라면 40인치를 4M내외라면 50인치를 권하고 있습니다. 과거의 TV는 전자파의 영향으로 이러한 시청거리를 꼭 지켜야할 필요가 있었지만 지금은 3M거리에 50인치를 사용해도 전혀 문제없고 4M거리에 40인치 혹은 32인치를 사용해도 전혀 문제는 없습니다.  따라서 처음엔 약간 부담감이 있을지도 모르겠지만 되도록이면 큰 사이즈를 선택하는 것이 좋다고 생각합니다.  만일 프로젝션TV로 구입한다면 60인치대의 제품도 많이 구입하기 때문에 가격이 문제이지 화면이 너무커서 문제될 일은 거의 없다고 생각됩니다.

 

요즘 40인치대의 LCD를 많이 선호하는데 이들의 가격대가 200만원 전후이기 때문에 이 가격대라면 오히려 50인치대의 PDP를 더욱 추천하고 싶습니다. 개인의 차이는 있겠지만 일반적으로 시청거리가 3.5M정도 이상의 거리에선 50인치의 사이즈가 딱 좋다고 생각합니다. 더욱이 올해 하반기나 내년상반기 쯤이면 50인치대의 제품이 주를 이룰 것이기 때문에 조금 멀리 내다본다면 50인치대의 제품을 생각하시는 것이 좋을 것입니다.

 

 

TV를 PC 모니터처럼 사용하고 싶으시면 LCD를 TV방송이나 영화감상이 주 목적이시면 PDP를 추천드립니다.

또한 낮시간 시청이 많거나 밝은 환경조건의 실내라면 LCD를  저녁시간의 시청이 많고 어두운 환경이라면 PDP를 추천 드립니다.

 

일반적으로 LCD가 PDP보다 더 비싸기 때문에 당연히 LCD가 더 우수한 성능을 가지는 방식으로 알고 계시는 분들이 많습니다. 이렇게 여러가지 성능을 비교할때 LCD는 절대 PDP보다 우월한 방식이 아니고 LCD가 비싼것은 단지 제조과정이 PDP보다 더 복잡하고 어려워서 생산원가가 높기 때문일 뿐입니다. 저녁시간 TV시청이 많은 일반적인 사용환경에서는 밝기, 명암비, 응답속도, 시야각, 색표현력등 거의 모든부분이 PDP가 더 좋을 뿐더러 같은 화면크기를 기준으로 100 ~ 200만원이나 저렴한 PDP가 훨신 유리하다고 생각됩니다.

 

 

긴글 읽으시느라 수고 많으셨습니다. 더 궁금한 점은 쪽지를 주세요~~ ^^*


대형TV(LCD, PDP)의 장단점 비교와 선택기준 바로가기

Posted by Baracuda
, |

영어가 들린다는 의미

Etc / 2008. 11. 26. 09:28

Posted by Baracuda
, |
많은 사람들이 비스타 64 설치후에 pc manager 를 연동시키려고 하면 아주 골치 아픈 메세지를 접하게

된다...

바로 FsUsbService64 에러 문구와 Service Initfailed 라는 메세지입니다. 애니콜 사이트 자체내에서도

확실한 답변이 붙어 있지 않아 초보 사용자들과 많은 유저들을 불편함을 만드는 부분이다..

하지만 아주 간단히 해결할수 있는 방법이 있다.

먼저 아래 사진의 경로로 들어가보자

보통 기본 설치 디렉토리인 C:\Anycall\Anycall PC Manager\AMFW로 들어가주자..

사용자 삽입 이미지


이제 위에서 표시된 3개의 파일들 FsService64 , FsAdmin64 ,FsusbAdmin 파일들의 호환성을 수정해 주어야

한다 ... 각각의 파일들에 가서 마우스 오른쪽 버튼을 눌러주고 속성을 선택해준다..

사용자 삽입 이미지


속성탭을 눌러준 후에는

사용자 삽입 이미지


위 그림처럼 호환성 탭을 골라주신후에 체크창에 체크 표시 해주시고 windows xp로 선택해 주시면 됩니다.

3개의 파일에 모두 위와같이 호환성을 windows xp로 맞혀주시면 아주 잘 작동하는 Pc Manager를 보실수

있을겁니다 ^^;


-출처 - http://crazyman9916.tistory.com

Posted by Baracuda
, |
제1편 : 남극에서 북극까지(From Pole to Pole)

이 시리즈는 BBC와 NHK가 5년에 걸쳐서 촬영하고 제작한 초대형 자연 다큐멘터리다. 신비함과 아름다움이 넘치는 생명의 별 지구를 전세계 2백여 곳의 자연과 함께, 그 안에서 살아가는 동물들의 생생한 삶의 모습을 주제별로 다룬다. 고난도의 압도적인 현장감과 미려한 영상으로, 한 편의 드라마를 방불케 하는 자연 다큐멘터리의 진수이자, 보는 이에게 저절로 감탄을 불러일으키게 하는 걸작이라 할 수 있다. 인간의 손길이 미치지 않은 곳이 거의 없는 지구이지만, 이 세상엔 아직도 야생을 간직한 곳이 많이 있다. 여기에, 태양은 생명의 근원이자, 지구촌 기후체계를 좌우하는 존재이다. 남극에서 북극에 이르기까지, 태양이 지구의 기후와 환경, 지상의 모든 생물에 미치는 영향을 심도 있게 조명해본다.
 

 

제2편 : 험준한 산들(Mountains)

지구엔 엄청난 지각활동으로 생겨난 산맥과 화산대가 존재한다. 이런 지각 활동으로 생겨난 에티오피아의 고지대에선 절벽에 적응한 겔라다개코원숭이와 왈리아아이벡스가 사이좋게 살아간다. 남미의 안데스 산맥에선 과나코와 퓨마가 변덕스러운 안데스 산맥의 날씨를 견뎌낸다. 북아메리카의 로키산맥에선 불곰이 황량한 자연에 적응해서 살아간다.
여기에, 유럽의 알프스 산맥의 험준한 봉우리들과 파키스탄의 발토르 빙하, 히말라야 산맥 등, 전세계의 고산 지대를 두루 돌면서, 경외심을 불러일으키는 험준한 산들이 보여주는 웅장한 경관과 그곳에서 살아가는 생물들의 모습을 살펴본다.

 

 

제3편 : 생명의 젖줄, 강(Fresh Water)

지구 전체의 물 중에 불과 3퍼센트만이 민물이지만, 민물은 수많은 생명의 원천이다. 바다에서 증발한 수분이 육지의 거대한 산맥에 부딪히면서, 비가 되어 육지를 적시고, 그 빗물은 다시 작은 시내가 된다. 그런 시내가 모여서, 큰 물길이 되고, 산지에서 발원한 다른 시내와 합쳐져서, 큰 강을 이루어 바다로 향한다. 강의 일생을 종합해 보면, 강은 산을 깎아서, 여러 풍경을 만들어내고, 그 강물은 도중에 많은 생명이 살아갈 수 있는 터전이 돼 주고, 침전물을 옮겨서 바다에 풀어놓는다. 강의 상류에서부터 하류까지 이르는 일생을 통해, 각 단계에서 볼 수 있는 강의 섭리와 생물 상을 살펴본다.

 

 

제4편 : 숨겨진 동굴들(Caves)

인간의 손길이 거의 미치지 않은 세계 중엔 신비로운 동굴들이 있다. 동굴은 누구든 선뜻 들어갈 엄두를 내지 못할 정도로, 우리에게 친숙한 공간은 전혀 아니다. 동굴은 그 대부분이 석회암이 물의 작용으로 깎여 나가면서, 지하에 파여진 수로의 형태이지만, 해저 동굴의 경우는 파도의 기계적인 마찰 작용이 빚어낸 것이다. 그런데, 유구한 세월 동안 생성되어온 동굴 중엔 비교적 최근에 이르러서야 발견된 것들도 있다. 지금까지 알려지지 않았던, 어둠침침하고 습한 동굴의 생성과정과 동굴을 은신처로 삼는 생물들, 그리고 그곳에서 영구 거주자로 살아가는 생물들의 생태를 살펴본다. 전 세계 석회암의 절반은 아직도 누군가의 탐험을 기다리고 있다.

 

 

제5편 : 모래의 바다, 사막(Deserts)

지구상 육지의 3분의 1인 사막은 겉보기엔 생명이라곤 전혀 없어 보인다. 극심한 열기와 기온의 차이 속에서도, 생물은 그 명맥을 이어가고 있으며, 저마다 부족한 물에 다양하게 대처하고 있다. 건조한 기후와 매서운 바람이 사막의 모습을 끊임없이 바꾸며, 더 많은 사막을 만들어 낸다. 세계 각지의 사막을 찾아가서, 그곳 환경에 적응하면서 살아가는, 우리의 예상을 벗어난 동물들의 생태를 살펴본다. 사막의 동물 대부분은 적은 숫자를 이루어 살아가지만, 그 중엔 일시적으로 물이 풍부해져서, 급격하게 개체수가 늘어나는, 사막메뚜기 같은 흔치 않은 예도 볼 수 있다.

 

 

제6편 : 극한의 얼음세상(Ice Worlds)

지상의 남북극 양단은 얼음이 지배하는 세상이다. 양극에선 기나긴 겨울과 여름이 존재하며, 동물들은 그 변화에 적응하며 살아간다. 남극엔 지상의 얼음 90퍼센트가 있는데, 겨울이 되면, 황제펭귄이 번식을 위해 안전한 내륙으로 모여든 후, 겨우 내내 어둠 속에서 영하 60도의 강추위를 견뎌내며, 알을 품는다. 북극은 남극과는 달리, 육지에 둘러싸인 드넓은 얼음 세상... 육상동물이 접근할 수 있는 이곳엔 북극곰이 바다표범을 사냥하면서 살아간다. 얼음이 녹으면, 철새들이 날아와서, 잠깐 넘쳐나는 먹이를 찾는다. 해마다 지속되는 지구 온난화의 여파로, 얼음은 점차 줄어들고, 그 얼음을 터전으로 살아가는 북극곰의 미래는 불투명하다.

 

 

제7편 : 생명의 요람, 평원(Great Plains)

지상의 평원들은 각지에 걸쳐 펼쳐져 있다. 나무가 자라지 않는 극지방의 평원에도 생명력이 강한 풀이 자라나서, 생물들의 생존을 보장해준다. 흰기러기는 반짝 넘쳐나는 먹이를 찾아, 멕시코만에서 북극의 툰드라까지 4,800킬로미터를 날아오고, 순록도 거대한 무리를 이루어 이동한다. 온대의 평원에서, 여름은 성장과 번식의 계절인데, 히말라야산맥의 영향으로 건조한 지대가 펼쳐져 있는 티베트에선 야생당나귀와 여러 동물이 살아간다. 열대의 평원에선 건기를 맞은 동물들이 극심한 갈증을 겪으면서, 작은 물웅덩이에 의지하며, 목숨을 근근히 이어가는데, 우기가 시작되면서, 천지개벽을 겪는 듯, 만물에 다시 생기가 돌고, 생명은 또 다른 호시절을 맞는다. 이렇듯, 강인한 풀이 지배하는 평원이야말로, 수많은 야생동물의 요람이라 할 수 있다.

 

 

제8편 : 생명의 경연장, 밀림(Jungles)

육지의 3퍼센트에 불과한 밀림엔 전세계 생물 종의 절반 이상이 서식한다. 이처럼 다양한 생물이 어떻게 밀집해서 살아가는지 궁금하다. 밀림의 생물은 경쟁을 피하기 위해서, 저마다 다른 부분을 차지하며 살고 있다. 생장에 필요한 햇빛을 독차지하기 위한 경쟁으로, 식물들은 각자의 전략을 구사하는데, 그 궁극적인 승자는 바로 활엽수다. 전세계 열대우림에 존재하는 무화과는 많은 동물을 먹여 살리고, 숲 속의 빈터는 여러 동물에게 필수 영양소를 제공한다. 밀림의 동물 대부분은 극심한 먹이경쟁으로, 부족한 먹이 때문에 덩치가 작아지는 경향이 있다. 이런 밀림의 다양성은 숱한 생물이 부족한 먹이를 얻기 위한 생존기술을 획득하도...

 

 

제9편 : 얕고 풍성한 바다, 천해(Shallow Seas)

전세계 대륙을 둘러싸고 있는 얕은 바다, 천해(淺海)엔 숱한 해양생물이 살고 있다. 혹등고래는 따스하고 안전한 열대의 천해에서 자식을 기른다. 천해엔 산호충이 빚어낸 놀라운 해양세계 산호초가 있다. 산호초는 많은 생물의 안식처이자, 먹이를 제공해주는 중요한 장소다. 병코돌고래들은 얕은 해안으로 물고기를 몰면서 사냥한다. 온대 해역은 좀 더 춥고, 거칠지만, 훨씬 더 풍부한 먹이 원천이다. 해류와 계절의 영향으로, 깊은 바다로부터 퍼올려진 양분이 천해를 풍성하게 만들며, 조류가 크게 번성하면서, 많은 해양생물의 터전으로 변모한다. 북극과 남극의 바다까지 기나긴 여행을 마친 어린 혹등고래는 앞으로도 오랜 세월 동안 대양을 가로지르며, 천해를 오갈 것이다.

 

 

제10편 : 숲의 사계(Seasonal Forests)

지상엔 계절이 존재하고, 이런 계절의 변화에 적응하며 번성하는 숲이 있다. 동토지대에선 침엽수가 강인한 생명력을 보여주는데, 먹이가 부족한 침엽수림에서 사는 동물은 많지 않다. 낮이 길어지면, 활엽수가 왕성한 성장을 시작한다. 숲의 특이한 거주자 중엔 17년마다 출현하며 숲을 풍성하게 만드는 ‘17년매미’도 있다. 활엽수는 추운 겨울을 대비해서, 활동을 멈추고, 잎을 떨어뜨리는데, 동물들에겐 힘겨운 시기가 아닐 수 없다. 건기를 맞은 열대지역에서도 수분을 보존하기 위해 잎을 떨어뜨린다. 우기를 맞은, 열대의 ‘바오밥나무’는 밤중에 꽃을 피우며, 번식을 도모한다. 이렇듯, 연중 계절 변화는 숲을 극적으로 바꾸어놓으며, 숲의 모든 생명을 좌우한다.

 

제11편 : 심해의 생명들(Ocean Deep)

지구상에서 생명이 살아갈 수 있는 공간의 90퍼센트 이상이 대양이다. 작은 물고기를 노리는 천적들은 홀로 사냥을 하기도 하지만, 무리 지어 사냥을 벌이기도 한다. 해양 생태계의 먹이사슬 기초가 되는 플랑크톤은 낮 동안 해저로 피신한다. 햇빛이 들지 않는 심해엔 위쪽의 물에서 내려오는 유기물과 사체에 의존해서 살아가는 생물로 가득하다. 그렇지만, 심해엔 초고온의 물을 분출하는 열수공이 있고, 이 열수공을 원천으로 세균이 번성하면서, 독자적인 먹이사슬을 이루는 생물 군집이 존재한다. 지상 최대의 생물, 흰수염고래는 지구촌의 환경변화로 개체수가 급감하고 있다. 이제, 경이로움으로 가득한 살아있는 자연, 지구의 미래는 우리 인간의 손에 달려있다.
 
Posted by Baracuda
, |

kmp tip(꼭 알아야 할것 )

Etc / 2008. 5. 13. 17:05

tip)
    0. kmp 새로운 버전을 깔고 무조건 할일:  전체환경 초기화 click  한다.(적용 필수)
       이유: 전 버전과 바뀐 부분 때문에 이유없이 오동작을 일으킬 확률이 상당히 높다.
           
    1. 일반 동영상 재생시 마우스 오른쪽 클릭 - 고급 영상 처리 - 초고속 모드or 고속 모드를 선택 해도 동영상 재생 부하가 조금

       줄어든다. (필터사용을 X)                                                         (저사양시 추천)


     2. 곰처럼 자막이 여백으로 내려 가게 하기!!(곰은 초기치가 오버레이 되어있다.) * (적용 강력 추천)

       (kmp는 초기치로 이미지에 표시로 되어있음-> 아마도 tv-out해서 보는 유저들 때문인듯)

      ->마우스 오르쪽 클릭 - 자막 제어 - 오버레이 화면에 표시 (이외에도 몇가지의 방법이 있음..)

     

     3. vmr자막 사용하기 (오버레이 자막과 같이 여백에 자막이 출력 된다.) *점유율 약간 높음   (적용 비추)

        a. 영상처리- >비디오 장치 - 출력장치를 vmr7 or vmr9으로 바꾼다

        b. 마우스 오르쪽 클릭 - 자막 제어 - vmr/direct 3d표시 선택

           ( 윈미나 곰으로 동영상 볼때 kmp재생하면 오버레이 장치는 1개 밖에사용할 수 없기 때문에 충돌이 날때 미리 설정을 해두

             면 자막이 충돌없이 잘 나온다. 자막의 품질은 주관적인 느낌으로 오버레이가 좋음(가볍다,충돌이 적다)..)  

          * 선호도에 따라 vmr이나 오버레이 선택 ..

     

     4. 저해상도 동영상 감상시 -> 기본 영상처리 ->부드럽게 클릭   (적용 비추)

       =>모자이크가 많이 제거된다 but 동영상이 조금 흐려지고, 자막이 첨가된 동영상의 경우 자막이 흐려진다.

     

     5. 2개의 avi파일 연속해서 끊김없이 1나의 파일로 보기

         f2  - >소스 필터 -> av파일에서 -> avi파일 재생시 다음 파일과 합쳐서 재생 체크.

        플레이 리스트에 (+2)underworld??와 같은 식으로 뜨면 성공!!

        (편수 많은 애니 볼땐 좀 불편하더군요. )

       *(사용하지 않음 추천).. 좀 불안합니다..(기본으로 사용하지 않음으로 되어 있음)


     6. 동영상 시청시 마우스 오른쪽 버튼 클릭후 마우스로 메뉴 탐색시 동영상 끈길때

        a. 일단 -> 내컴퓨터 ->마우스 오른쪽 클릭 -> 속성 -> 고급 -> 성능의 설정 클릭

            -> 바탕화면의 아이콘 레이블에 그림자  사용을 제외하고 모두 체크 해제... * (적용 추천)

        b.위의 방법으로도 해결 안될때 -> 그래픽 카드 드라이버의 가능성이 크므로 드라이버 버전을 바꾸어 본다.


     7. 아이콘 클릭으로 동영상이 안열릴때...

        f2 -> 파일 연결 캡처 -> 전체 해제(or 전체 초기화 )click -> 시스템에 반영 click

           -> 필요한 연결명에만 체크 하시고 -> 시스템에 반영  click!!!    

       * 저의 경우 초기화와 kmp및 레지 삭제 신공으로도 실패 but 위의 방법으로 성공 했습니다.

       * 레지 삭제 방법: 시장->실행 ->regedit -> ctrl+f로 kmp 검색후 다지워 줌

         (잘못 지우면 위험하니 레지 백업 하십시요!!)      

       * if 이래도 안된다면 다른player를 쓰시던가 윈도우를 재설치  하시는게 정신건강에 좋습니다.


     8. 이유없이 동영상 재생 점유율이 높을때

      ->a.아마도 여타 화질 좋아진다는 팁을 적용했거나 점유율을 높이는 옵션에 자신도 모르게 선택이 되고 있을 가능성이 크다

           (해결책-> 전체설정 초기화 click )

          b.메인보드 칩셋 패치중 안깔린 드라이버가 있거나 불안할때(해결책 -> 드라이버 업데이트)

            특히 장치관리자 -> 시스템 장치-> agp드라이버 설치 확인요망(gart드라이버 설치: ati시)

     

      9. kmp초보 사용자 추천 설정 -> 2번 팁 적용, f2 ->자막 글꼴에서 굴림체 선택, 그림자 표시   체크 해제  -> 추천 스킨

         arctic amp2  or  pure w s s( + 쉐이드 모드)  * (적용 추천)


    10. 마우스 오른쪽 클릭 -> 화면 제어 -> 원본 비율유지   * 선호도에 따라(4:3, 5:4 모니터 사용자)

         와이드 동영상재생시 전체 화면으로 하면 원본 비율 유지가 되지 않아 폭이 약간 짧아진다.

         2배로 키운 화면의화면과 전체  영상 높이를 비교해 보면 알 수 있다.

         (와이드 영상 재생시  위아래 여백 남는 것두 억울한데 y축 길이가 더 짧아질 수 있음...)


    11. 동영상 끈킬때  점유율 줄이는 법

         a. ctrl+f로 고속모드 설정..(효과 큼)

 

         b. 영상이 h.264나 tp,ts&wmv..등의 파일 일경우  동영상 가속 부분 참조...

             부하가 적은 코덱으로 교체......

             h.264의 경우 coreavc코덱이 아직까진 가장 우수한편입니다 ^^(효과 큼)


         c. 설정에서 우선순위를 한 단계 높인다.   (효과 적음)


           이어서 재생하기, 모든 폴더 파일 열기등은 기본설정의 탭을 잘 보시면 금방 알 수 있습니다 ^^


     12. 일반사용자는 테스트 버전중 Delphi 2007로 컴파일한 버전(테스트 부탁 합니당^^)  라고 되어있는거로 받지 말고

         그 위에 있는 다운로드 라고 되어있는 것을 눌러서 다운 받으세요!!


     13. KMP 홈피에 재생안되는 동영상 질문하는 법: 아래의 엮인글의 파일 잘르는 프로그램을 이용하여 파일을 잘라서 올린다!!


*** coreavc H.264재생팁

      1.2버전부터 적용 가능한 팁입니다 ^^ (효과 큼)

       coreavc환경 설정창에서 standard deblocking을 skip all deblocking으로 변경하면 점유 율이 많이 감소 합니다 !!

       허나 약간(?)의 화질 감소는 .........

        

       하지만 그 밑에 있는 옵션을 no deinterlacing으로 바꾸어도 점유율은 거의 줄지 않습니다 ^^

       ( h264 1080p 30p 까지는 이옵션만으로 재생만은 거의 가능하지만 60p부터는3000++으로는 아무래도 약간은 무리인듯 합니다)

 

Posted by Baracuda
, |

* HD가 보급화되면서 이에따른 관심이 증대되고 있다. 따라서 필자는 이를 가장 효율적으로 고화질 동영상 재생을 하기 위한 방법의 한가지로 KMP와 상용코덱(Nvidia purevideo, Coreavc, Cyberlink)을 이용하여 설명하겠다.


* 고화질 동영상이라함은 파일명에서 간단하게 살펴볼수 있는데 확장자가 TS,TP,MKV등으로 되어있는 것들과 파일명에서 720p, 1080i, 1080p등을 살펴볼수 있다면 고화질이다. 물론 듀얼코어등 cpu빨로 돌릴수 있으나 대부분의 보급화된 컴퓨터에서 버벅거림이 있다면 아래의 방법을 사용함으로써 조건이 충분하다면 완벽히 해결할 수 있을 것이다.


*그래픽카드는 하드웨어 가속여부가 1차 관건이다.

 지포스 8xxx 시리즈이상(8800 구버전 제외) 8500gt, 8600gt, 8800gt는 하드웨어가속이 완벽지원된다.

 라데온 hd2xxx 시리즈 이상(hd2900 지외) hd2600 hd 3xxx는 하드웨어가속이 완벽지원된다.

 물론 비싼게 좋은 것이나 가격대 성능비로 8600gt, hd3850을 추천한다.

 물론 하드웨어 가속이 안되는 경우에도 kmp purevideo coreavc조합에서도 어느정도 성능 향상이 보장된다.(하드웨어 가속이안되는 그래픽카드는 우선 cyberlink는 포기하도록 하자.)


*준비물(소프트웨어)

무료 소프트웨어: 아래의 링크에서 다운받을수 있다.

kmp(http://imgcdn.pandora.tv/pan_img/KMP/Download/kmp.exe)


상용 소프트웨어: 구입을 하던지 어둠의 경로를 통하던지 각자 구해야 될 것이나 쉽게 구할수 있다.

Purevideo 1.02_223

Coreavc professional 1.6.5.0

Power DVD 7.3이상의 버전


*이로써 모든 준비물이 갖춰지고 위에 준비물들을 설치 완료했으면 아래와 같이 kmp의 환경설정으로 들어가서 설정해주면 된다.(kmp실행후 단축키 F2 를 통해서 들어갈수 있다.)


*크게 두가지 조합으로 이를 설명할 것이다. 조합 1번은 KMP + Purevideo + coreavc로 이를 일반적인 설정으로 사용하며 이를 통해서 tp ts등에도 무리없다면 조합1번만으로 사용하는 경우를 추천한다. 조합 2번 KMP + Cyberlink 코덱으로 하드웨어 가속이 되는 그래픽카드를 사용하는 경우에만 필요하며 cpu빨로 안되는 경우 추가적으로 사용하는 경우로 tp ts파일 사용시에 cpu점유율을 줄여줄 수있다. 필자의 경우는 2가지를 모두 사용한다. 매번 번거롭게 설정할 필요없이 2가지 경우를 아래 스샷을 보면 파일로 저장 이란 항목을 이용하여 레지스트리를 저장함으로써 필요에 따라서 클릭하기만 하면 된다.


*설명은 이로써 마치고 설정을 하도록 하자.


*********** 조합 1번 KMP + Purevideo + Coreavc **************

1. KMP 실행후 F2를 통해서 아래의 항목으로 들어가서 H.264 , AVC 체크 해제하자. 이로써 외부코덱 사용할 준비가 끝나는 것이다.

1-1 이제 외부코덱을 kmp로 불러와서 설정할 준비를 하도록하자. 아래와 같이 외부코덱 사용자 정의를 클릭하자.

1-2 이와같은 화면이 나올 것인데 물론 아직 추가안해줬기때문에 깔아준 코덱만 나올것이다. 필자의 경우 쓰잘떼기 없는 코덱들도 따로 깔아 사용하기때문에 아래와 달라도 무방하다. 검색해서 추가후 확인을 누르자.


2. 스프릿필터를 아래와 같이 NVIDIA Transport Demux로 변경해주자.

3. 외부 비디오코덱으로 들어가서 아래 표시된것과 같이 변경해주자. ts tp의 경우 Purevideo가 ,h264,x264,avc1등은 coreavc가 설정된 것이다.


4. 이번에는 고화질 영상재생시 불필요한 필터를 사용하지 않는 옵션을 설정해 주도록 한다. 필터란 뜻은 사전적 의미와 마찬가지로 영상을 거르는 하나의 장치로 포샵효과라고 생각하면 쉬울 듯하다.

이로써 조합1번의 모든 설정을 마쳤다. 영상을 재생해 보고 Tab키를 누르면 재생정보가 나올 것이다. 위에 설정한 purevideo나 coreavc등이 재대로 표시된다면 성공적으로 된것이며 1080p 재생후 문제 없이 재생된다면 조합2는 추천하지 않고 조합1번으로 마무리 하도록 한다. 필자와 같이 저사양컴퓨터에 욕심이 많은 사람이라면 재미삼아 조합2번도 해본다. 크오하하하


*********** 조합 1번 KMP + Cyberlink 코덱(Power DVD 설치시 깔림) **************

조합 1번과 다른 부분만 설명해주겠다. 나머지는 똑같으니 설명하지 않기로 한다.

4번째 설정만 추가된것인데 비디오렌더러를 Enhanced video render로 사용하였다. tp ts파일의 경우 이와같이 설정해주면 cpu점유율이 눈에 띄게 낮아 진것을 볼수 있다. purevideo보다 훌륭하다. 위에도 알켜줬듯이 tab눌러보면 된다. cpu점유율 비교해보는 재미가 쏠쏠하다. 조합2가 좋은데 왜 조합1을 쓰냐고 반문을 한다면 일부의 mkv 파일의 경우 Cyberlink 코덱에서 문제가 보이기도 하기 때문이다. 그래서 사양좋고 문제없다면 조합1을 추천하는 것이다. coreavc는 엄밀히 말하면 하드웨어가속기능이 있는 것이 아니라 최적화 소프트웨어 가속이라고 보는게 맞다.


 

* 이것으로 모든 설명이 끝났다. 즐겁게 hd 고화질영상을 감상하도록~ 참고로 24인치 이하의 모니터에서 1080p를 감상하는 것은 사치이다. 22인치경우 720p 24인치 1080p 감상을 추천한다. 24인치라도 누워서 본다든가 의자에 앉아서보지 않으면 차이를 느낄수가 없다. 고로 22인치 사용자가 많이 늘고 있는데 720p를 추천한다.

Posted by Baracuda
, |
사용자 삽입 이미지


출처 : 파코즈
Posted by Baracuda
, |
Posted by Baracuda
, |

LCD 패널에 관한 설명

Etc / 2008. 3. 29. 20:15

TN 패널은 저가형 패널입니다.
그냥 단순히 CPU 에서 셀로론이 있는것처럼 저가로 공급하기 위해 나온 패널이 TN 패널인데
이건 시야각이 160도 (좌우상하 각80도)이기때문에 좌우상하에서 화면이 잘 안보이는 단점이 있는 패널입니다. 단순히 싸기 때문에 쓰는것이지요
(요즘보면 TN 패널인데 비싼제품들이 있습니다. 가급적 피하세요.
시야각보고 판단하시면 됩니다. )

PVA 패널은 고급형 패널입니다.
우선 시야각이 광시야각 178 도 이기 때문에 사방 어느곳에서든 잘보입니다.
영화 같은거 볼때 편하겠지요 (상하좌우 각 89도)
PVA 패널의 장점은 명암비가 뛰어나 색 재연률이 92% 라서 실제 PVA 패널로 볼때 부드럽게
흘러가시는것을 볼수 있습니다.
하지만 단점이 있는 패널이지요 . 바로 빠른 화면변화에서 잔상이 남는다는것인데요.
처음에는 많은 문제가 되었지만 현제는 오버드라이브라는기술 덕분에 잔상효과를 눈으로
거의 보이질 않습니다.
예를들면 실제론 응답속도 16ms 짜리 제품인데 오버드라이브 라는 기술을 이용해서
8ms 짜리로 만드는 것이지요. 최근 PVA 패널을 보면 6ms 짜리가 대부분입니다
이말인즉 응답속도 12ms 짜리를 오버드라이브 기술로 6ms 으로 만든것이지요.
(pva 패널은 8ms 이하의 응답 속도인 제품만 구매하세요 )
또한 S-PVA 라는 패널 이름도 보셨으리라 생각합니다. S-PVA는 삼성만의 고유기술로
잔상효과를 극단적으로 제거한 제품입니다. 그래서 한창 인기이지요.

세번째로는 IPS 패널이 있습니다.
IPS 패널또한 광시야각 입니다. 178도 (상하좌우 각 89도) IPS 패널 제품은 거의 없습니다.
하지만 간혹 있는것은 사실이고 이제품의 특징은 응답속도가 16ms 18ms 이렇게 높다는것이지요. 응답속도가 높음에도 불구하고 부드럽게 흘러가는것은 3가지 패널중에 최고입니다.
즉 동영상이나 게임에 특화된 패널이라고 생각하시면 됩니다.
하지만 단점도 있습니다.
PVA 패널에 비해 명암비가 낮기 때문에 색 재현률이 나쁜것은 아니지만 PVA 만 못하다는것이지요. (물론 PVA 잔상현상이 계선된 것처럼 추후에도 개선되겠지요.)
하지만 아직까진 IPS 패널을 이용한 제품이 거의 없기 때문에 굳이 IPS를 찾아다니실 필요는
없을것 같습니다.

ps : 개인적으론 PVA 패널제품을 구입하시는것을 추천해드려요.
      물론 응답속도는 8ms 이하로.
      명암문제만 해결된다면 ips 패널이 pva를 재치고 최고의 패널로 인정받겠지요 ..

ps2 : 패널의 기준은 각 회사마다 다르기때문에 기준점이 없습니다.
        이건 소비자가 판단할 문제이지요 .. !! 시간이 되신다면 용산 가셔서
        직접 눈으로 보고 구매하는것이 최고입니다. !

ps3  : 현제 제가 구입할려고 생각하는 제품은 MOTV 제품중 24인치 와이드 ADJ
         입니다. 패널은 PVA 패널이고 수급현황에 따라 삼성 S-PVA ,LG PVA ,
         AUO PVA (AUO는 대만회사입니다.) 패널을 이용한 제품인데요.
         최근엔 수급이 딸려서 AOU 를 많이 쓴다고 하더군요 .
         물론 삼성이나 LG패널 보단 좋지 않지만 가격이 착합니다 24 인치 와이드 중에
         이정도 가격이 고정비 자동기능 피벗 높낮이 틸트 가 되는 제품은 없는것 같네요 .

출처 : 다나와
Posted by Baracuda
, |

Resolution & Accuracy

Etc / 2008. 1. 28. 14:37

Tester 의 Specification 을 보면 Resolution 과 Accuracy 가 나오는데,

초보자들에게는 이해하는 데 어려움이 있는 듯 하다.


예를 들면 Specification 이 다음과 같이 주어졌다.


Current
Range
Measurement
Range
Resolution Measurement
Accuracy
Current
Limitation
8uA 0A to +/-6uA 2nA +/-(0.5% + 6nA + 1nA/V) 0.999mA
80uA 0A to +/-60uA 20nA +/-(0.2% + 40nA + 10nA/V) 0.999mA


8uA range 를 선택하면 6uA~-6uA 까지 측정할 수 있다.

이 range 에서 Current Clamp 는 0.999mA 이다.

Resolution 는 정밀도(해상도)를 뜻하고 2nA 이므로, 측정값의 step 은 2nA 단위이다.

예를 들면, 10nA 혹은 12nA 가 측정될 수 있으나, 11nA 혹은 10.5nA 가 측정되지는 않는다.

이 것을 bit 수로 본다면 전체range/resolution = 12uA/2nA = 6000 = 약 13bits 가 된다.

Accuracy 는 정확도이다.

측정하고자 하는 PIN에 1V 의 전압을 가하여 20nA 가 측정되었다고 하면,

오차는 MAX 20nA*0.5% + 6nA + 1nA = 7.1nA 가 되므로 약 13nA~27nA 의 값이 측정된 것이다.

이 것을 bit 수로 본다면 Accuracy 는 12uA/6nA = 약 11bits 가 된다.



http://cafe.naver.com/semicontest.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=40

Posted by Baracuda
, |

매트랩 강의 블로그

Etc / 2008. 1. 23. 09:34
Posted by Baracuda
, |

매트랩, 주파수분석관련

Etc / 2008. 1. 23. 09:32
매트랩 고수분들 이 프로그램 분석 좀 부탁합니다!!
예를 들면 "이 함수는 어떤 기능을 한다"
"이 줄은 어떻게 하라는 의미이다" 라고요~
될 수 있으면 모든 줄을 해주시면 감사하겠습니다~
대신 내공 지대로 드릴게요~


>> clear;
>> clf;
>> FRQ_RESOL = 1000;
>> WIN_SIZE = 100;
>> TOT_SIZE = 700;
>> Fs = 8000;
>>
>> win_index = 0 : (WIN_SIZE-1);
>> tot_index = 0 : (TOT_SIZE-1);
>>
>> f = 1:FRQ_RESOL/2;
>> f = f/FRQ_RESOL*Fs;
>>
>> rect = [zeros(1, (TOT_SIZE-WIN_SIZE)/2) ones(1,WIN)_SIZE) zeros(1, (TOT_SIZE-WIN_SIZE)/2)];
>> ham = 0.54 - 0.46*cos(2*pi*win_index/ (WIN_SIZE-1));
>> ham = [zeros(1, (TOT_SIZE-WIN_SIZE)/2) ham zeros(1,(TOT_SIZE-WIN_SIZE)/2)];
>>
>> f_rect = abs(fft(rect, FRQ_RESOL));
>> f_ham = abs(fft(ham, FRQ_RESOL));
>>
>> subplot(2,2,1), plot(tot_index,rect);
>> AXIS([290 410 -0.2 1.2]);
>> title('(a) Rectangle window');
>> xlabel('sample');
>> ylabel('amplitude');
>>
>> subplot(2,2,3), plot(tot_index, ham);
>> AXIS([290 410 -0.2 1.2]);
>> title('(C) Hamming window');
>> xlabel('sample');
>> ylabel('amplitude');
>>
>> subplot(2, 2, 2), semilogy(f, f_rect(1:FRQ_RESOL/2));
>> AXIS([0 1500 10^-5 10^3]);
>> title ('(b) Freq. Resp. of Rectangle window');
>> xlable('Hz');
>> ylable('dB');
>>
>> subplot(2,2,4), semilogy(f,f_ham(1:FRQ_RESOL/2));
>> AXIS([0 1500 10^-5 10^3]);
>> title('(d) Freq. Resp. of Hamming window');
>> xlable('Hz');
>> ylabel('dB');





매틀랩으로 돌려보면 알겠지만,
시간영역의 신호와 이를 푸리에 트랜스폼한 주파수영역의 신호를 도시하는
코드로 보이네요. 그냥 아는데로 달아놨어요. 설명이 부족하다 싶은 라인은
쪽지 주세요~

clear; %% workspace 지움
clf; %% 그래프 화면 지움
FRQ_RESOL = 1000;
WIN_SIZE = 100;
TOT_SIZE = 700;
Fs = 8000;

win_index = 0 : (WIN_SIZE-1);
%% win_index 를 0부터 (WIN_SIZE-1)까지의 정수를 원소로 갖는 행렬로 정의
tot_index = 0 : (TOT_SIZE-1);
%% tot_index 를 0부터 (TOT_SIZE-1)까지의 정수를 원소로 갖는 행렬로 정의

f = 1:FRQ_RESOL/2;
%% f를 1부터 FRQ_RESOL/2 까지의 정수를 원소로 갖는 행렬로 정의
f = f/FRQ_RESOL*Fs;
%% f의 각 원소에 "/FRQ_RESOL*Fs" 연산 수행

rect = [zeros(1, (TOT_SIZE-WIN_SIZE)/2) ones(1,WIN_SIZE) zeros(1, (TOT_SIZE-WIN_SIZE)/2)];
%% rect // 1 x 700행렬이 된다
%% zeros(1, (TOT_SIZE-WIN_SIZE)/2) // 0으로 구성된 1 x (TOT_SIZE-WIN_SIZE)/2 행렬 작성
%% ones(1,WIN_SIZE) // 1로 구성된 1 x WIN_SIZE 행렬 작성

ham = 0.54 - 0.46*cos(2*pi*win_index/ (WIN_SIZE-1));
%% ham // 1 x 100 행렬
ham = [zeros(1, (TOT_SIZE-WIN_SIZE)/2) ham zeros(1,(TOT_SIZE-WIN_SIZE)/2)];
%% ham // 1 x 700 행렬
f_rect = abs(fft(rect, FRQ_RESOL));
%% fft(rect, FRQ_RESOL) // rect를 FRQ_RESOL 즉 1000 포인트 푸리에 변환(DFT : Discrete Fourier Transform)
%% abs(n) // n의 각 원소의 복소계수(sqrt(real^2 + imag^2))를 반환
f_ham = abs(fft(ham, FRQ_RESOL));

%% subplot은 한 화면에 여러개의 그래프를 그릴때 사용한다.
subplot(2,2,1) %% 2 x 2 즉 4개의 그래프중 첫 번째 그래프
plot(tot_index,rect); %% tot_index의 범위에서 rect를 도시
axis([290 410 -0.2 1.2]); %% 가로, 세로 좌표 설정
title('(a) Rectangle window'); %% 그래프 title표시
xlabel('sample'); %% x축 라벨
ylabel('amplitude'); %% y축 라벨

subplot(2,2,3) %% 2 x 2 즉 4개의 그래프중 세 번째 그래프
plot(tot_index, ham);
axis([290 410 -0.2 1.2]);
title('(C) Hamming window');
xlabel('sample');
ylabel('amplitude');

subplot(2, 2, 2) %% 2 x 2 즉 4개의 그래프중 두 번째 그래프
semilogy(f, f_rect(1:FRQ_RESOL/2));
%% semilogy는 plot과 같은 기능을 하지만, y축을 로그스케일로 표시.
axis([0 1500 10^-5 10^3]);
title ('(b) Freq. Resp. of Rectangle window');
xlabel('Hz');
ylabel('dB');

subplot(2,2,4) %% 2 x 2 즉 4개의 그래프중 네 번째 그래프
semilogy(f,f_ham(1:FRQ_RESOL/2));
axis([0 1500 10^-5 10^3]);
title('(d) Freq. Resp. of Hamming window');
xlabel('Hz');
ylabel('dB');

'Etc' 카테고리의 다른 글

HHD(Hybrid Hard Disk)에 대해서  (0) 2008.04.21
그래픽카드 DVI 단자 종류에 대한 설명  (0) 2008.03.30
LCD 패널에 관한 설명  (0) 2008.03.29
Resolution & Accuracy  (0) 2008.01.28
매트랩 강의 블로그  (0) 2008.01.23
10의 지수(Power of 10)  (0) 2008.01.20
unsigned int 음수 결과  (0) 2008.01.17
춤추는 대수사선 보는 순서  (0) 2008.01.12
시리얼 통신 - 하이퍼 터미널이용해서  (0) 2008.01.04
알FTP 사이트맵 백업  (1) 2007.12.31
Posted by Baracuda
, |

10의 지수(Power of 10)

Etc / 2008. 1. 20. 01:21
  • 10의 지수(Power of 10)

영어

10의 24승 = yotta (Y)

10의 21승 = zetta (Z)

10의 18승 = exa (E)

10의 15승 = peta (P)

10의 12승 = tera (T)

10의 9승 = giga (G)

10의 6승 = mega (M)

10의 3승 = kilo (k)

10의 2승 = hecto (h) *

10의 1승 = deca (da) *

10의 -1승 = 10분의 1 = deci (d) *

10의 -2승 = 100분의 1 = centi (c) *

10의 -3승 = 1000분의 1 = milli (m)

10의 -6승 = micro ()

10의 -9승 = nano (n)

10의 -12승 = pico (p)

10의 -15승 = femto (f)

10의 -18승 = atto (a)

10의 -21승 = zepto (z)

10의 -24승 = yocto (y)

한자

10의 68승 = 무량대수 (無量大數)

10의 64승 = 불가사의 (不可思議)

10의 60승 = 나유타 (那由他)

10의 56승 = 아승지 (阿僧祗)

10의 52승 = 항하사 (恒河沙)

10의 48승 = 극 (極)

10의 44승 = 재 (載)

10의 40승 = 정 (正)

10의 36승 = 간 (澗)

10의 32승 = 구 (溝)

10의 28승 =  양 (穰)

10의 24승 = 서 (抒 또는 저)

10의 20승 = 해 (垓)

10의 16승 = 경 (京)

10의 12승 = 조 (兆)

10의 8승 = 억 (億)

10의 4승 = 만 (萬)

10의 3승 = 천 (千)

10의 2승 = 백 (百)

10의 1승 =십 (十)

10의 -1승 = 10분의 1 = 할 (割)

10의 -2승 = 100분의 1 = 푼 (分)

10의 -3승  = 1000분의 1 = 리 (厘)

10의 -4승 = 모 (毛)

10의 -5승 = 사 (絲 또는 실 絲변 하나)

10의 -6승 = 홀 (忽)

10의 -7승 = 미 (微)

10의 -8승 = 치 (緻)

10의 -9승 = 사 (沙)

10의 -10승 = 진 (塵)

10의 -11승 = 의 (흙 土변의 矣)

10의 -12승 = 상 (물 水변의 눈 目 적을 少)

10의 -13승 = 막 (漠 또는 莫)

10의 -14승 = 모호 (模糊)

10의 -15승 = 준순 (逡巡)

10의 -16승 = 수유 (須臾)

10의 -17승 = 순식 (瞬息)

10의 -18승 = 탄지(彈指)

10의 -19승 = 찰나 (刹那)

10의 -20승 = 육덕 (六德)

 여기서부터는 두 가지 설이 있음.  

첫번째:

10의 -21승 = 공허 (空虛)

10의 -22승 = 청정 (淸淨)

두 번째:

10의 -21승 = 허 (虛)

10의 -22승 = 공 (空)

10의 -23승 = 청 (淸)

10의 -24승 = 정 (淨) 


Posted by Baracuda
, |

unsigned int 음수 결과

Etc / 2008. 1. 17. 20:09
unsigned int 음수 결과

나도 평가하기 00

mybjunga

조회610 답변1

답변이 완료된 질문입니다. (2006-07-26 15:31 작성)

신고

아래의 소스의 두개의 출력 결과값이 어떻게 나올까요?

변화 과정을 자세히 적어주세요

특히, 두번째 결과는 정말 궁굼합니다 고수님 부탁드립니다

수고하세요


  int sx = -20;
 
  unsigned int dx = -20;

 

  printf("%d\n", sx >> 2);  

  printf("%d\n", dx >> 2);

unsigned int 음수값의 쉬프트 연산

keyseek (2006-07-26 23:32 작성)

신고|이의제기

질문자 평

조금 상세히 설명드리지요
 
먼저 sx와 dx의 메모리 내용을 볼까요?
우선 20은 2진수로 뭘까요? 32비트 정수로 본다면 다음과같습니다.
20 ==> 00000000 00000000 00000000 00010100
즉, 16진술로는 0x00000014 입니다.
 
그런데 -20은 음수표현의 2의 보수를 쓰므로
위의 20을 2의 보수를 취하면 값은 111111111 11111111 11111111 11101100 입니다.
따라서 이를 16진수로 하면? 0xFFFFFFEC 가 됩니다.
 
이 값이 int sx에 들어가면 sx의 메모리는 위의 값이 됩니다.
unsigned int dx에 들어가도 음수를 넣으니까 경고를 받겠으나
그 결과는 동일하게 sx와 같은 내용이 됩니다. 즉, ux는 0xFFFFFFEC 입니다.
 
  int sx = -20;                           => sx = 0xFFFFFFEC;
  unsigned int dx = -20;         => ux = 0xFFFFFFEC;

자, 그럼 쉬프트 연산을 하면 어떻게 될까요?
 
쉬프트 연산은 C언어에서 두가지 방식이있습니다.
 
우로 쉬프트 할때, signed 를 쉬프트 하면 부호는 다시 최상위 비트에 유지됩니다.
(이것은 -2를 우로 밀면 나누기 2가 되어 -1이 되어야 하므로
부호가 계속 유지됩니다) 이러한 쉬프트를 산술적 쉬프트라 합니다.
 
unsigned를 쉬프트 할때는 부호 개념이 없으므로 그냥 최상위에는 0이 들어옵니다.
이러한 쉬프트를 논리적 쉬프트라 합니다.
 
그러나 주의할 것은 좌로 쉬프트 할때는 signed나 unsigned나 모두
최하위비트는 0으로 채워지고 최상위비트는 그냥 밀려간다는 것입니다.
 
왜 signed에서 부호가 밀려나가도 부호가 유지되지 않을까요?
이것은 이미 최상위 비트가 밀려가면 값으로서의 의미를 상실하는
오버플로우가 발생하는 것이기 때문입니다.
 
위의 경우 signed sx를 두번 우로 밀면 부호가 유지되므로 값은?
 
메모리 내용으로는
111111111 11111111 11111111 11111011 입니다.
따라서 이를 16진수로 하면? 0xFFFFFFFB가 됩니다.
그런데 이걸 10진수타입의 signed int로 인쇄하는 %d 옵션을 쓰므로
값을 찍으면 음수이므로 - 붙이고 값은 2의 보수를 취하므로
 
-00000000 00000000 00000000 00000101이므로 즉, -5가 됩니다.
결국 -20을 나누기 2를 두번하니까 -5 되지요...
 
 
그러나 unsgned dx 를 두번 우로 밀면? 최상위에 0이 차므로
 
001111111 11111111 11111111 11111011 입니다.
따라서 이를 16진수로 하면? 0x3FFFFFFB가 됩니다.
 
이걸 signed int 타입 %d로 인쇄하면
최상위 비트가 0이므로 양수가 되고 값은?
으악 엄청 큰수가 되지요...
얼마냐면 계산기로 해보니 1073741819 가 되네요...
 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
[추가 답변]
 
그럼 왜 0x3FFFFFFB   를 signed int로 할때는
2의 보수를 취하지 않느냐고 하셨는데요...
2진수 음수표현을 좀더 정확히 공부하셔야 겠네요...
 
위의 수를 signed int로 표시하려면 즉, %d로 인쇄하라는 것은
위의 내용을 signed int로 간주하라는 겁니다.
그런데 위의 값을 이진수로 표현한것을 보면
001111111 11111111 11111111 11111011 입니다.
 
여기서 보시면 최상위 비트가 1이 아니라 0임을 알 수 있죠?
즉, 최상위 비트가 1이라면 이수는 음수라는 겁니다.
그러나 최상위 비트가 0이므로 이 수는 양수이고
그렇다면 값은 그냥 위의 값을 10진수로 표현한면 됩니다.
 
만약 위의 값이 최상위 비트가 1이었다면
프로그램에서는 이것이 음수다 라고 알게되죠
그러면 값을 알기 위하여 전체에 2의 보수를 구하여
값을 알아냅니다. (물론 마이너스이므로 -XXX 가 되겠죠)
 
그럼 다음으로 연습을 합시다.
 
지금부터 임시로 int를 8비트라고 합시다.
원래는 32비트 이지만...
 
현재 메모리의 내용이 11111100 할때
 
위의 것을 %d로 인쇄하면 뭐가 될까요?
최상위 비트가 1이므로 음수이고 값은 2의 보수를 취하므로
00000100입니다. 10진수로는 4입니다.
따라서 -4 라는 수가 되지요...
 
이걸 %u로 인쇄하여 봅시다. (%u는 unsigned int로 간주하는 겁니다)
그러면 최상위 비트가 1이지만 이것을 부호가 없는 정수로 보므로
최상위 비트는 부호가 아니라 값으로서의 1입니다.
그러므로 값은 10진수로 하여보면 10진수로 252 가 됩니다.
 
그럼 이번엔 메모리 내용이 00001111이라고 합시다
 
위의것을 %d로 인쇄하면 signed int로 간주되는데
최상위 비트(부호비트)가 0이므로 양수입니다.
이 경우는 2의 보수를 취하지 않고 그냥 전체가 값이 됩니다.
 
왜냐하면 양수를 2의 보수를 취해놓으면 반드시 최상위 비트는
1이 되기 때문에 음수로서의 원래 값을 구하려면
전체를 다시 2의 보수를 취해야 하지요...
그러나 최상위 비트가 0이면 이건 원래부터 양수이고
2의 보수로 만든수가 아니므로 값은 그냥 취하는 겁니다.
 
그래서 그 값은 15가 됩니다.
 
위의것을 unsigned int로 하면?
무조건 최상위 비트가 뭐든지 간에 양수이므로
값은 똑같이 15가 됩니다.
 
이유를 아시겠나요?
 
추가 질의에 답이 될런지요?
더 궁금하시면 쪽지요망
 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
signed 타입과 unsigned 타입의 우측쉬프트는 최상위 비트 조작이 다름을
기억해야 합니다. 가끔 실수하거든요...
 
도움이 되시길...
 
 
 
 
 
 
  printf("%d\n", sx >> 2); 
  printf("%d\n", dx >> 2);
Posted by Baracuda
, |

티비판 → 드라마 스페셜판 1,2,3 (연말경계→여름교통→가을범죄) → 심야에도 춤추는 대수사선 → 극장판1 →춤추는 대서울선 → 심야에도 춤추는 대수사선2 → 극장판2 →극장판3 →극장판4 → 도망자 키지마 조이치로


오리지널 TV 시리즈, 총 11편

(Odoru Dalsousasen tv,  Odoru TV)

01 - 셀러리맨 형사와 최초의 난사건
02 - 사랑과 복수의 택배
03 - 사라진 조서와 그녀의 사건
04 - 소녀의 눈물과 형사의 프라이드
05 - 그녀의 비명이 들리지 않는다.
06 - 그녀의 사랑과 진실
07 - 타임리미트는 48시간
08 - 와쿠형사여. 영원히!
09 - 완간 경찰서 대패닉! 아오시마 순사쿠, 위기일발!
10 - 흉단, 비에 사라진 형사의 눈물
11 - 아오시마 형사여 영원히.
00 - NG 걸작선


드라마 스페셜, 총 3편

(Drama Special, DS)


1. 춤추는 대수사선 DS - 연말 특별경계 스페셜
2. 춤추는 대수사선 - DS 초여름의 교통안전 스페셜
3. 춤추는 대수사선 - DS 가을 범죄박멸 스페셜

이중 '가을 범죄박멸 스페셜은 극장판1 편과 연결되는 내용입니다.


외전


1. 심야에도 춤추는 대수사선- 완간서 사상 최악의 3인 총 2편

이것은 일종의 극장판 홍보물(?) 정도로 생각하시면 됩니다

쓰리 아미고즈(칸다 서장, 아키야마 부서장, 하카마다 과장)
이 출연합니다. 특별한 스토리는 없고 완간서 3인이 모여 앉아

개봉할 극장판에 대해 여러가지  이야기를 하죠

1편은 蔓樣?, 2편은 극장판2 와 연결 됩니다.


2. 춤추는 대서울선

2002 월드컵 특집 제작된 드라마 입니다.

아오시마, 무로이 가 빠진 나머지 맴버들이

수사 관계로 서울에 와서 벌어지는 에피소드 입니다.


극장판 총 4편

(Odoru daisosasen the movie)

1. 춤추는 대수사선

2. 춤추는 대수사선 2 - 레인보우 브릿지를 사수하라

3. 춤추는 대수사선 3 - 교섭인 마시타 마사요시

4. 춤추는 대수사선 4 - 용의자 무로이 신지


이중 3, 4편은 주인공 아오시마가 빠지고

동료인 마시타 마사요시, 무로이 신지가 주인공으로 이끌어 갑니다.



지식IN 참고했습니다^^

Posted by Baracuda
, |

1 시리얼통신의 이해
1) 용어 설명
 ① RS-232 (보장사용거리:약15m)
 RS-232C 규격은 미국의 EIA(Electronic Industries Association),현 TIA(http://www.tiaonline.org )에 의해 규격화 된 것으로 정확하게는 EIA-RS232C 규격이라 부르며 전기적/기계적 특성과 인터페이스 회로의 기능 등을 정의하고 있습니다.
 
 RS-232C는 컴퓨터들과 그 주변의 장치들 간에 비교적 느린 속도의 직렬 데이터 통신을 하기 위한 물리적 연결과 프로토콜에 관해 기술하고 있는 오래된 표준입니다 (현재의 가장 보편적으로 사용하는 버전이 "C"입니다.).
 RS-232C는 컴퓨터가 모뎀과 같은 다른 직렬장치 들과 데이터를 주고받기 위해 사용하는 인터페이스입니다.

 RS-232C가 규격화 되던 시절의 시대적 배경을 생각 해보면 통신의 주 목적은 본사의 컴퓨터와 지사의 컴퓨터를 모뎀을 통하여 서로의 데이터를 주고 받는 것이 주 목적이 아닐까 생각합니다.
컴퓨터로부터 나오는 데이터는 보통 메인보드 상에 있는 UART 칩에 의해 DTE 인터페이스로부터 내장(또는 외장) 모뎀이나 기타 다른 직렬장치 들로 전송이 됩니다.

또한 모뎀이나 다른 직렬 장치와 RS-232C 표준에 입각하여 통신하는 컴퓨터쪽의 DTE 인터페이스는 DCE 인터페이스라고 불리는 보완적인 인터페이스를 가지고 있습니다.
즉,초기에 정의된 RS-232c의 목적은 DTE(컴퓨터)와 DCE(모뎀)의 연결을 표준으로 하고 있습니다.
뒤에서도 다시 언급이 있겠지만 이런 이유로 인해서 사용하는 케이블의 배선방법이 달라집니다.
DTE 와 DCE를 연결하려면 1:1케이블(스트레이트 케이블)을 사용하며 DTE 와 DTE를 연결 하는 방식에서는 Null Modem Cable(혹은 Cross 케이블)이라고 부릅니다.

컴퓨터 내에 있는 데이터는 병렬회로를 따라 흐르지만 직렬장치 들은 오직 한번에 한 비트씩 만을 처리할 수 있기 때문에, UART 칩이 병렬로 되어 있는 비트들을 직렬 비트 열로 변환시킵니다.

다음의 항목들은 RS-232C의 전기적 특성입니다.
송신부 - 무부하 출력   :  ≤ 25V
송신부 - 부하 출력     :  5V∼15V
송신부 - 단락 출력 전류 :  ≤500mA
송신부 - 파워온시 특성  : ≥300Ω
수신부 – 입력저항   : 3㏀∼7㏀
수신부 – 히스테리시스  : ±3V
수신부 - 입력 최대전압  : ±25V
최대 케이블 길이    :  15m
최대 전송속도     :  20kbit/sec
신호 논리(부논리)    :  - TRUE : LOW (-3V 이하)
          - FALSE : HIGH(+3V 이상)
- 전송하지 않을 경우 : LOW
 

 위에서 얘기한 전기적 특징은 송/수신측의 전압 레벨과 라인의 입출력 저항 그리고 입력 스레쉬 홀드 및 펄스의 상승특성 등을 구성한 것으로 표준 인터페이스의 하나로서 데이터를 직렬로 전송하는 방법을 사용합니다.

 따라서 비교적 속도가 느리고 하나의 인터페이스에 대하여 하나의 단말장치 밖에 연결 할수 없으며 전송거리또한 상당히 제한적이긴 하지만 배선수가 적고 접속이 용이하다는 장점때문에 많이 사용합니다.
 
 RS-232C는 2개의 송.수신 신호선(TX/RX) 과 5개의 제어선( CTS/RTS , DTR/DSR , DCD ) 그리고 2개의 접지선 ( SG, FG ) 이 필요합니다.

 참고로 RS-232C에서 의 232는 전기공업협회에서 232번째 제정한 규정이라는 것입니다.( RS-232C : Recommended Standard 232 Revision C )

 따라서 직렬통신의 단점을 보완하는 규정들이 422번째,485번째 만들어지게 되었고 그들을 RS-422,RS-485라고 부릅니다.
 이들은 RS-232C의 전송거리가 짧은 이유가 선로상에 발생하는 잡음 및 전송선로에 의한 전압강하 때문이라고 생각하고 잡음에 강한 방식으로 데이터를 보내게 됩니다.

 즉 양쪽의 그라운드가 동일한 시점에서의 송수신할 때 잡음이 발생하면 신호가 약해지며 신호를 정확히 판단하지 못합니다. 그래서 송신을 +,- 로 분리해서 부논리를 쌍으로 보내는 방법을 택하여 잡음이 발생할 때 같이 감쇄되어 수신측에서는 보상을 하여 신호로 인식한다는 원리로 전송거리는 약 1.2킬로 정도 까지 보장을 합니다.

 또한 일대일 통신 의 단점을 보완해서 1:N 혹은 N:M으로 다중통신이 가능하게 만드는 규정도 생겨납니다.


② RS-422 and RS-423 (보장사용거리:약1.2k)
 직렬통신의 단점을 보완하는 규정 422번째,485번째 만들어진 것으로 RS-422와 RS-423은 EIA에 의해 승인된 직렬 장치 접속용 표준 인터페이스입니다.
 이 표준들은 더 빠른 속도를 제공하면서도 전기적인 간섭에 더욱 강해졌기 때문에, 이전의 표준인 RS-232를 대체할 목적으로 설계되었습니다.
 RS-423이 오직 점대점 접속만을 지원하는데 비해, RS-422는 멀티포인트 접속을 지원합니다.


③ RS-485(보장사용거리:약1.2k)
 RS-485는 멀티포인트 통신회선을 위한 TIA/EIA 표준입니다.
 이것은 DB-9이나 DB-37과 같은 커넥터들을 지원합니다.
 RS-485는 RS-422와 비슷하지만, 낮은 임피던스를 가지는 구동기와 수신기를 사용함으로써, RS-422보다 회선 당 노드 수를 더 많이 허용합니다.


④ 프로토콜
 프로토콜 본래의 의미는 외교에서 의례 또는 의정서를 나타내는 말이지만, 네트웍 구조에서는 표준화된 통신규약으로서 네트웍 기능을 효율적으로 발휘하기 위한 협정입니다. 즉, 통신을 원하는 두 개체간에 무엇을, 어떻게, 언제 통신할 것인가를 서로 약속한 규약이라고 볼수있습니다.

 컴퓨터 네트웍의 규모가 증가되고 네트웍을 이용한 정보전송 수요가 다양화되며, 소프트웨어와 하드웨어 장비가 계속 증가되는 최근의 환경에서, 효율적인 정보 전달을 하기 위해서는 프로토콜의 기능이 분화되고 복잡해질 수밖에 없습니다.. 따라서 이러한 환경적인 요구를 만족하기 위해서는 프로토콜 계층화의 개념이 필요하게 되었습니다.

 프로토콜 계층화의 개념은 마치 구조적 프로그래밍 개념과 비슷한데, 각 계층은 모듈과 같으며 각 계층의 수직적 상하관계는 top-down 구조와 같습니다. 즉, 네트웍의 프로토콜 계층화는 하위계층이 상위계층을 서비스하는 것과 같으며 호출 프로그램과 피호출 프로그램의 매개변수 상호전달 방식 또한 상위계층이 하위 계층의 서비스를 받을 때와 같은 매개변수 전달방식과 같습니다.. 이러한 프로토콜 계층화 개념을 받아들여 상품화한 것이, IBM사가 1974년에 내놓은 SNA (system network architecture)입니다.

 SNA의 목적은 IBM사 제품뿐만 아니라 다른 회사 제품과의 컴퓨터 기기 상호 접속시 발생되는 여러 종류의 호환성 문제를 해결하는 것이었습니다. SNA 이후 다른 회사들도 각자의 네트웍 구조를 내놓았는데, 이들의 목적 또한 네트웍간의 호환성 유지와 정보전송 최소화에 있습니다.

 특히 인터넷에서는 TCP/IP라는 프로토콜을 사용하는데 그 내용은 다음과 같습니다.
 TCP (Transmission Control Protocol)는 정보 패킷 차원에서 다른 인터넷 노드와 메시지를 상호 교환하는데 필요한 규칙을 사용하며, IP (Internet Protocol)는 인터넷 주소 차원에서 메시지를 보내고, 받는데 필요한 규칙을 사용합니다.
 
 결론적으로 프로토콜이라는 단어의 의미는 두 개체간의 통신에 있어서의 약속입니다.
 우리가 무전기를 사용할때 마지막에 '오버'라는 말을 붙이는 것 처럼 상대방이 듣고있다가 '오버'라는 말이 나오면 송신이 끝났음을 알고 자신이 할 얘기를 하는것과같은 약속의 의미입니다.


⑤ DTE (Data Terminal Equipment) ; 데이터 단말 장치
 컴퓨터 데이터 통신에서 DTE는 컴퓨터가 모뎀이나 기타 다른 직렬장치를 이용하여 데이터를 교환하기 위한 RS-232C 인터페이스입니다.


⑥ DCE (Data Communication Equipment) ; 데이터 통신 장치
 컴퓨터 통신에서의 DCE는 모뎀이나 다른 직렬장치들이 컴퓨터와 데이터를 주고받기 위해 사용하는 RS-232C 인터페이스를 의미합니다.


⑦ 병렬통신의 종류 LPT (Line Print Terminal)
 LPT는 프린터나 기타 다른 장치에 접속하기 위한 PC의 병렬포트를 지칭하는 통상적인 호칭입니다.
 대부분의 PC들은 하나 또는 두 개의 LPT 접속을 가지고 있는데, 이들 각각을 LPT1과 LPT2라고 부릅니다.. 어떤 시스템들은 세 번째 포트인 LPT3를 지원하는 것도 있습니다. 그러나, 몇 개가 지원되든 간에 보통 LPT1이 디폴트값입니다.
 사용자는 자신의 컴퓨터에 병렬포트 어댑터를 장착함으로써, 두 번째 프린터나 기타 다른 장치용 병렬포트를 추가할 수 있습니다. LPT 포트는 QuickCam이나 CU-See-Me와 함께 쓰이는 비디오카메라 등과 같은 입력장치에도 사용될 수 있습니다.

 병렬 접속에는 전통적으로 프린터 통신을 위한 센트로닉스 인터페이스가 사용되어 왔습니다. EPP/ECP라고 불리는 새로운 표준은 기존의 구형 인터페이스는 물론, 스캐너나 비디오카메라 등을 포함한 다양한 범위의 장치들에 대해 더 빠른 통신을 지원합니다.
     
프린터포트는 3개의 주소를 가집니다. 데이터 출력 포트, 상태 포트, 제어 포트입니다.
LPT1의 경우 기본주소는 378h입니다. 이때 상태 포트 주소는 379h가 되며,제어 포트 주소는 37Ah입니다.
또한 상태 레지스트 포트의 내용은 프린터에러 및 종이 유무 및 기타 작동 상태등을 나타냅니다.
     
⑧ 병렬통신의 종류 GPIB (General Purpose Interface Bus)
컴퓨터와 주변 기기를 연결하여 정보를 전달하기 위한 외부 버스의 일종입니다.
일반적으로 약어로 불리며, ‘범용 인터페이스 버스’라고도 합니다.
원래는 휴렛패커드(HP-현 Agilent)사가 개발하여 자사의 이름을 따서 HPIB라고 한 것인데, 미국 전기 전자 학회(IEEE)가 1975년경에 IEEE 488로 표준화하였으며 이것을 기본으로 하여 국제 전기 표준 회의(IEC)가 IEC 625로 표준화하였읍니다.

GPIB는 컴퓨터와 각종 전자 계측 기기, 센서, 자동 시험 기기 등 생산 자동화 관련 기기를 연결하여 정보를 교환하거나 컴퓨터로부터 계측 기기 등을 제어하기 위한 외부 버스의 사실상의 업계 표준 또는 국제 표준이 되어 있지만 일반적인 PC에서는 많이 사용되지 않습니다.
초기의 GPIB의 성능은 최대 전송 속도가 초당 1MB, 최대 접속 가능 기기 15대, 최대 케이블 길이 20m였으나 점차 데이터 전송 속도를 고속화하고 있는 실정입니다.
     
GPIB 인터페이스를 사용하기 위해서는 별도의 GPIB Board 를 사용 해야 하며 가장 많이 사용하는 GPIB Board는 National Instrument사와 Agilent사에서 만든 Board입니다.


2 하드웨어적인 준비.
1) 직렬통신으로 장비를 제어하려고 하거나, 시리얼통신으로 제어가 되는 장비를 만들려고 할때는 다음의 순서에 따라 시험하시기 바랍니다.
① 제어 보다는 모니터링 즉, 수신을 먼저 목적을 가져야 합니다.
② 프로그램을 만들려고 하기 전에 기존의 프로그램으로 충분히 시험합니다.
③ 기존의 프로그램이란 범용 통신 프로그램으로 하이퍼터미널과 같은 프로그램으로 이미 기능상의 검증을 받은 프로그램을 말합니다.
④ 시리얼 포트의 연결 방법은 3선식만 알아도 99% 가능하므로 다음의 결선 방식을 참고바랍니다.

9핀 9핀
2번 (RX) 3번 (TX)
3번 (TX) 2번 (RX)
5번 (SG) 5번 (SG)
   
   
25핀 25핀
2번 (TX) 3번 (RX)
3번 (RX) 2번 (TX)
7번 (SG) 7번 (SG)
   
   
9핀 25핀
2번 (RX) 2번 (TX)
3번 (TX) 3번 (RX)
5번 (SG) 7번 (SG)
⑤ 주의점은 통신설정창의 흐름제어를 양쪽의 설정을 동일하게 ‘없슴’으로 설정하십시오.
⑥ 이와 같은 방법은 초보가 아니라 전문가도 꼭 거쳐야 문제가 적다는 점을 알기 바랍니다.
⑦ RS-422, RS-485 등의 시리얼 통신을 해야 할 경우는 232 TO 422/485 컨버터를 이용하시기 바랍니다.
⑧ 상기의 과정이 완전히 익숙하지 않은 분은 프로그램을 시도하지 않으시는게 좋을 줄로 생각합니다.  반대로 상기과정이 익숙하시면 프로그램으로 통신하는데  일단 모든 걱정을 던져 버리시기 바랍니다.


2) 에코시험 (Loop Back Test )
① 자신의 컴퓨터의 직렬포트에 맞는 케이블을 연결합니다.
② 하이퍼터미널을 실행하여 직접 연결로 COM1을 설정하는데 나머지는 디폴트로 있는 그대로 하되 흐름제어는 없음이나 XON/XOFF로 합니다.
③ 나머지 설정은 스스로 터득하시기 바랍니다.
④ 연결한 케이블 끝단 커넥터의 2번과 3번 핀을 찾아내어 쇼트를 안정하게 시켜두고 하이퍼터미널에서 키보드 입력을 했을때만 문자가 에코 된다면 성공입니다.
⑤ 위의 시험이 성공한다면 다른 포트로 옮겨서 다시 시험하시기 바랍니다.

3) 두 포트간의 통신 시험.
① 위의 2가지 시험이 잘 되었으면 이젠 케이블을 수정하는데 한쪽만 2번과 3번 핀의 연결을 바꾸어 연결한다.  이걸 널 모뎀케이블이라고 합니다.(위의 케이블 결선도를 참고 바랍니다.)
② 그럼 COM1과 COM2사이에 널모뎀 케이블을 연결하고 두개의 통신프로그램에서 교대로 입력하여 상대 창에 전송되면 시험 종료입니다..
③ 그 상태에서 자주 각종 설정에 따른 변화를 터득하고 기술을 습득하고 프로그램 개발시에도 시험의 무대로 삼기 바랍니다.

4) 널모뎀케이블
초창기에는 데이터 통신이 대부분 모뎀을 통하여 이루어졌습니다.
그러나 세월이 흘러 개인용 컴퓨터의 보급이 엄청나게 늘어나고 이에 따라 모뎀을 이용하지 않고 컴퓨터끼리 통신을 해야할 일의 필요성을 느끼게 되었습니다.
이때 생겨난 것이 널 모뎀 케이블입니다. (위의 케이블 결선도를 참고바랍니다.)
모뎀이 없으면서도 통신을 하게 해주는 케이블인셈이지요.
즉 DTE – DCE의 통신이 아닌 DTE – DTE 의 통신이 필요한것이지요.
이때 사용하는 케이블은 Direct (Straight) 방식이 아닌 Cross(Twist) 방식의 케이블을 사용합니다.
송신과 수신을 서로 교차되게 연결하고 접지를 같이 연결한 케이블이 널모뎀 케이블입니다.


5) 루프백 커넥터
루프백 커넥터는 루프백 시험을 하기 위한 커넥터입니다.
루프백 시험은 통신 기기가 제대로 동작하는지 알아보기 위한 시험으로서 통신 기기의 송신부와 수신부를 연결하여 자기가 보낸 데이터를 다시 자기가 받아보도록 하여 통신 기기의 이상유무를 판단할 수 있도록 합니다. 이는 다른 기기가 없이 혼자서도 해볼 수 있는 간단한 시험입니다.
 
6) 모뎀을 이용한 통신
모뎀이라해서 크게 어려운건 없읍니다.

모뎀의 기능은 컴퓨터에서 나오는 디지탈 신호를 아날로그 신호로 바꿔서 멀리가게 하는 기능과 아날로그신호로 들어오는 데이터를 다시 디지털 신호로 바꿔주는 기능이라고 보시면 됩니다.

일반 시리얼 통신과의 차이점은 접속해야하는 과정 뿐입니다. 그이후에는 똑같죠.

우리가 일반적으로 사용하는 모뎀은 헤이즈호환 모뎀이라고 합니다.
그렇기 때문에 모뎀에 보내는 명령은 'AT'라는 헤더를 가집니다.
먼저 수신측 프로그램이 가동되면서 모뎀에 'ATS0=1'이라는 명령을 보냅니다.
다음과 같은 코드로 표현됩니다.
MSComm1.Output = “ATS0=1” & vbCrLf

자세한 정보는 모뎀관련 매뉴얼에 자세히 나와있읍니다.

그리고 송신측에서는 접속이 필요한 시점에서 전화를 거는기능이 있어야겠죠?
'ATDT 123-4567'이라고 명령을 주면 됩니다.

그러면 모뎀이 전화를 걸게 되고 수신측에서는 링이 울립니다.

그러면 수신측 모뎀은 응답을 하게됩니다.

그때 수신측/송신측 모뎀은 서로의 조건을 확인합니다.

서로의 조건이 맞다면 양쪽 컴퓨터에 접속완료 메세지가 뜹니다.
이때 응답코드가 문자로 나타날지 숫자코드로 나타날지는 모뎀에 설정한 값에의해 결정됩니다만..
어쨌던 모뎀에서는 결과가 나옵니다.
만약 수신측이 통화중이라면 'BUSY'가 나올테고
정상적으로 접속이 되면 'CONNECT 9600'등이 나옵니다.

이때부터는 일반 직렬통신과 같이 보시면 됩니다.


아래에 간단히 절차를 순서대로 적도록 하겠읍니다. 참고 하시길..

(송) 이라고 한것은 송신측 컴퓨터이고 (수)라고 한것은 수신측 컴퓨터입니다.
물론 양쪽의 포트 속성은 똑같이 맞추셔야 하는건 아시겠지요?

(수) 포트를 연다.    Ex) MSComm1.PortOpen = True
(수) 'ATS0=2'를 보낸다   Ex) MSComm1.Output = "ATS0 = 2" & vbcr
(송) 포트를 연다    Ex) MSComm1.PortOpen = True
(송) 전화를 건다     Ex) MSComm1.Output = "ATDT 123-4567" & vbcr
(수) 링이 울린다     Ex) 따르릉~~
(수) 두번째 링이 울린후 빈대떡 부치는 소리가 들린다..
(송) 이에 뒤질세라 해물파전 부치는 소리가 들린다..
(송,수) 거의 동시에 접속 완료 메세지가 나타난다.
문자일경우도 있고 부호일경우도 있다. 일반적으로 'Connect xxx'
----- 여기까지가 접속 과정입니다. ------

(송) 온도를 구하는 명령을 보낸다.   Ex) MSComm1.Output = "N0303" & vbcr
(수) 명령을 받은후 현재의 온도를 보낸다..
(송) 수신버퍼를 확인하여 화면에 표시한다..

----- 모든 작업이 끝났다고 가정합니다. -----
(수) 모뎀을 자동응답기능을 해제합니다.   Ex) MSComm1.Output = "ATS0 = 0" & vbcr

(수) 전화를 끊습니다.        Ex) MSComm1.Output = “ATH0” & vbcr
(송) 전화를 끊습니다.        Ex) MSComm1.Output = “ATH0” & vbcr


7) D-Sub 커넥터의 핀 구성
9핀 25핀 신호명 입/출력 구분 설명
   
 1 FG - 보호용 접지 (Frame Ground)
2 3 RXD 입력 수신 데이타 (Receive Data)
3 2 TXD 출력 송신 데이타 (Transmitted Data)
7 4 RTS 출력 송신 요구 (Request to Send)
8 5 CTS 입력 송신 허가 (Clear to Send)
6 6 DSR 입력 데이타 세트 레디 (Data Set Ready)
5 7 SG - 신호용 접지 (Signal Ground)
1 8 DCD 입력 수신 캐리어 검출 (Carrier Detect)
4 20 DTR 출력 데이터 단말 레디 (Data Terminal Ready)


3 기본 통신 개통시험.
처음부터 프로그램을 개발하기 보단 정확히 하드웨어적으로 정상적인지를 테스트 해보아야 합니다.
그러기 위해서는 단순해 보이지만 오랜 시간동안 Test되었고 확실하다 싶은 프로그램으로 Test를 해보아야 합니다.
그러한 대표적인 프로그램으로 하이퍼 터미날을 이용하시기 바랍니다.
 
1) 하이퍼 터미널을 이용한 통신 시험
① 보조프로그램에서 하이퍼 터미날을 선택하여 새로 등록합니다.
 

사용자 삽입 이미지

② [주의사항] – 모든 항목에 대해 동일해야 합니다.


③ 새로 만든 하이퍼 터미날의 등록정보를 엽니다.

사용자 삽입 이미지

④ 연결대상에서 사용할 모뎀 COM Port를 지정합니다.
⑤ 설정에서 “ASCII설정”에서 아래와 같이 지정합니다.


사용자 삽입 이미지


사용자 삽입 이미지

사용자 삽입 이미지

 
 TEST1 COM1 PORT OPEN]
   
⑥ TEST1에서 입력.

비베에서 바라본 시리얼통신.
1) 먼저 알아야 할 내용.
① 통신 속성들
 - 전송 속도 는 데이터를 보내는 속도를 얘기합니다.
단위는 bps(bit per second), 초당 전송되는 비트수를 얘기합니다.
그렇다면 우리는 흔히 8비트 통신을 하게 되는데,
만약 9600bps라고 설정 한다면 초당 9600비트이므로
바이트로 환산 하면 9600/8 이 됩니다.
그러면 1200바이트/초 가 이론적으로는 계산이 됩니다만..
실제 한바이트가 8비트로 전송이 될때는 다른 비트들도 계산해주어야 합니다.
시리얼 통신으로 데이터를 보내게 되면 다음의 순서로 데이터가 송신 됩니다.
시작비트 – 데이터비트 – 패리티비트 – 종료 비트
이때 시작비트는 항상 1비트,데이터 비트는 7비트혹은 8비트,
패리티를 사용하면 1비트,사용하지 않으면 0비트,종료 비트는 선택에 따라 1,1.5,2비트가 나갑니다.
예를들어 우리가 흔히 사용하는 속성인 9600,n,8,1를 예를 들어 보겠습니다.
전송속도-9600
패리티 – 없슴
데이터 – 8비트
종료비트 – 1비트
이렇게 되면 1바이트의 데이터 전송될 때 실제 나가는 비트수는 총 10비트입니다.
시작 1비트 + 데이터 8비트 + 종료 1비트 = 10비트
따라서 9600보레이트의 경우 바이트로 환산 하면 960바이트가 1초에 전송이 되는 것이지요.
이렇게 계산 해보면 1바이트 문자가 전송되는데는 약 1밀리초가 소요됩니다.
이 내용은 수신시에도 그대로 적용이 됩니다.
우리가 흔히 범하기 쉬운 오류는 데이터를 송신 하고는 바로 수신 버퍼를 읽어온다는 것입니다.
우리가 데이터를 보내면 오로지 데이터를 보내는데만 걸리는 시간이 있으며,
수신측에서는 그 데이터를 받아서 처리하는데 걸리는 시간도 있을것이며,
수신측에서는 그에 응하는 응답을 보내게 될 때 그 데이터 길이에 따른 수신완료시의 시간이 있다는 것을 흔히 무시하는 경우가 있습니다.
다시 예를 들어 보겠습니다.
컴퓨터에서 ‘Hello?’라는 명령을 보내면 상대측에서는 곧 바로 ‘I am here.” 라는 응답을 보낸다는 가정을 해보도록 하겠습니다.
아까 얘기한 송신후 바로 수신하는 경우의 코드는 다음과 같습니다.
MSComm1.Output = “Hello?” & vbCr
MsgBox MSComm1.Input

이 코드는 데이터를 보낸후 바로 수신버퍼에서 읽고 끝냅니다.
그러나 이 경우 데이터가 정상적으로 수신되기 힘듭니다.
Output 명령 이후 Input 명령까지의 시간 간격이 적어도 20밀리초 이상이 소요되는 초울트라수퍼캡 저속 컴퓨터라면 가능합니다.
하지만 실제 상황은 그렇지 못합니다.

따라서 이 경우 데이터가 수신이 될때까지 기다리기 위해서 다음의 같은 방식으로 처리를 해주려고 합니다.
MSComm1.Output = “Hello? “ & vbCr

Do
  Doevents
  If MSComm1.InBufferCount > 0 Then Exit Do
Loop
MsgBox MSComm1.Input

이 코드는 처음 코드에 비해서는 기능이 향상 되었지만 그래도 문제점은 남아있습니다.
다시 생각해보면 명령을 내보내고 수신버퍼에 데이터가 들러오기 시작하면 루프를 빠져 나갑니다.
그리고 데이터를 수신버퍼에서 읽어옵니다.
이 경우의 문제는 수신버퍼에 있는 데이터를 읽으려는 시점이 모든 데이터가 다 수신완료된 시점이 아닐수도 있다는 문제입니다.
즉,데이터를 수신중인데도 수신완료로 생각해버린다는 문제이지요.

따라서 이 경우는 종료부호를 이용하여 통신을 한다면 종료부호를 체크해서 수신완료로 보는 방법과 수신될 바이트수를 알고 있는 경우라면 그 수신하고자 하는 만큼의 데이터가 들어왔는지를 확인 하는 방법과 데이터 수신중에 발생하는 수신 블록간의 갭을 이용하여 수신 완료로 보는 등의 방법을 강구해야 합니다.

다음의 코드를 참고하시기 바랍니다.
이 경우는 종료부호를 확인 하는 방법입니다.

MSComm1.Output = “Hello?” & vbCr

RBuf$ = “”
Do
  DoEvents
  If MSComm1.InBufferCount > 0 Then
   Rbuf$ = Rbuf$ & MSCOmm1.Input

   If Instr(Rbuf$,vbCr)>0 Then Exit Do
  End If
Loop


② QUEUE
큐는 순서를 가지고 있는 선형리스트 구조입니다.
요소의 삽입과 인출(삭제)가 다른 구조로 되어있으며 매표소에서 입장권를 사기 위해서 줄을 서서 기다리는 사람들의 모습을 생각하시면 됩니다.(물론 새치기는 허용이 되지 않습니다.)
여기서는 먼저 들어간 요소가 먼저 인출이 되므로 선입선출,혹은 FIFO(First In First Out)이라고도 합니다.
그리고 요소의 삽입이 일어나는 곳을 꼬리(Rear)라고 하며 인출이 일어나는 곳을 머리(Front)라고 합니다.

③ STACK
스택은 한쪽 끝이 막혀있는 구조로서 요소의 삽입과 인출이 한쪽끝에서만 일어나는 선형 리스트 구조입니다.
밑이 막혀있는 통을 세워놓은 구조를 생각하시면 됩니다.
여기서는 나중에 들어간 요소가 먼저 인출이 되게 되어있는 구조이므로 후입선출,혹은 LIFO(Last In First Out)이라고도 합니다.
요소의 삽입,인출이 일어나는 곳을 스택의 상위(Top)이라고 부르며 요소를 스택에 넣는 것을 푸쉬(Push)라고 부르며 요소를 인출하는 것을 팝(Pop)이라고 합니다.
스택은 서브루틴 호출이나 인터럽트 처리시 돌아갈 주소를 저장하는 용도로 많이 쓰이기도 합니다.

④ CIRCLE QUEUE
비베에서 가지는 통신용 버퍼에는 두가지가 있습니다.
수신버퍼와 송신 버퍼입니다.
이 버퍼의 크기는 각각 MSComm의 속성중 InBufferSize와 OutBufferSize의해서 결정이 됩니다.
우리가 주로 프로그램에서 많은 고민을 하는버퍼는 수신버퍼입니다.
따라서 지금부터는 수신 버퍼를 기준으로 설명 드리도록 하겠습니다.
수신버퍼는 환형큐라고 부르는 구조로 되어있습니다.
이 환형큐는 기본 구조 및 동작은 일반큐와 같으나 머리와 꼬리가 붙어있는 환형으로 되어있는 것이 다릅니다.
이 환형큐의 특징은 두개의 포인터를 가지고 있습니다.
하나의 포인터는 통신포트에 도착한 데이터를 수신버퍼에 갖다놓은 위치를 가리키고 있으며, 이 포인터를 외부포인터라고 부르겠습니다.
또 하나의 포인터는 응용프로그램에서 가져올수 있는 수신버퍼의 위치입니다.
이 포인터는 내부포인터라고 부르겠습니다.
다음의 그림을 참고 하시기 바랍니다.

각각의 격자에는 수신되는 데이터가 바이트 단위로 적재가 됩니다.
위의 그림처럼 외부포인터와 내부포인터가 마주 보고있다면 더 이상 버퍼에 남은 데이터가 없는걸로 생각하여 InBufferCount가 0이 됩니다.

먼저 다음의 그림을 보시면서 데이터의 흐름을 생각해보시기 바랍니다.

외부에서 발생한 데이터가 통신 포트에 도착하면 CPU 및 통신드라이브는 그 데이터를 1바이트씩 묶어서 메모리에 갖다 둡니다.
이때의 메모리는 수신버퍼로 생각하시면 됩니다.
그러면 우리가 만들거나 이미 만들어진 통신 프로그램에서는 수신버퍼에 들어와있는 데이터를 확인 하여 메모리로부터 가져오게 됩니다.
즉,우리의 응용프로그램에서는 통신포트로부터 직접 데이터를 가져오는게 아니며 통신 드라이브가 데이터를 바이트 단위로 묶어서 수신버퍼(메모리)에 갖다두면 그때 우리가 데이터를 얻을수 있는 구조로 되어있다는걸 생각하시기 바랍니다.

자, 실제 예를 들어 보겠습니다.
지금 외부에서 보낸 데이터가 있습니다. ‘12345” 라는 문자가 들어왔다고 하겠습니다.
물론 Input명령은 아직 사용하지 않았습니다.
그러면 다음과 같은 그림이 그려집니다.

아직 데이터를 가져가지 않았기 때문에 두개의 포인터는 벗어나 있습니다.
이때 InBufferCount를 보면 두 포인터의 차이를 계산해서 5라는 값이 나옵니다.
이때 InputLen라는 속성을 2로 하고 Input을 해보면 다음의 그림과 같이 됩니다.

즉 두바이트를 인출 시켜서 응용프로그램에 돌려주고는 내부포인터의 위치가 변경이 됩니다.
그리고 다시 데이터가 들어왔다고 가정합시다.
이번에는 ‘ABCD” 가 들어 왔다면 다음 그림처럼 데이터가 누적이 됩니다.

이번에는 InPutLen속성을 0으로 주고 다시 읽어봅니다.
물론 MSComm1.Input으로 읽겠지요?
그러면 버퍼에 남아있던 모든 데이터를 다 되돌려주고 두 포인터는 서로 마주 보게 됩니다.
다음의 그림처럼..

자, 여기서 정리를 해보겠습니다.
우리가 사용하는  MSComm의 수신버퍼는 환형큐로 되어있습니다.
이 환형큐보다 더 큰 데이타가 들어오거나 우리가 미처 수신 데이터를 가져가기전에 다른 데이터가 들어온다면 버퍼내에서는 오버런이 발생합니다.
이때는 이전의 데이터는 없어지면서 그 위에 덮어쓰게 됩니다.
그리고 InputLen은 한번의 Input명령에 수신될 바이트를 지정한다는건 이해가 되셨을겁니다.
그리고 InBufferCount의 속성은 두개의 포인터의 차이를 되돌려주며 이는 수신 버퍼에 남아잇는 데이터 수를 돌려줍니다.
그런데 이 InBufferCount 의 또다른 용도가 있습니다.
MSComm1.InBufferCount = 0 이라고 하면..수신버퍼를 클리어시키는 역할을 합니다.
수신 버퍼에 쓰레기 데이터가 있다고 가정할 때 수신버퍼를 비우는 용도로도 사용되지요.
저번의 강좌에서도 말씀드렸지만 9600보레이트로 통신을 한다면 통신포트에서부터 수신버퍼까지 데이터가 들어오는 시간이 1밀리초가 걸립니다.
따라서 수신버퍼에 우리가 원하는 데이터가 다 수신이 되는데는 수신하려는 바이트수 * 1밀리초이상이 걸리므로 이 시간을 잘 기다려 주셨다가 읽어야만 여러분들께서 원하는 데이터를 얻으실수 있다는걸 유념해 주시기 바랍니다.

⑤ POLLING 과 INTERRUPT
우리가 통신을 한다는 목적은 같은 기종 혹은 다른 기종끼리의 데이터 송수신을 목적으로 하고있습니다.
데이터를 보내는 조건이나 시기는 보내는 쪽에서 대체적으로 결정을 합니다.
송신이 필요할 때 즉시 송신을 하거나 미리 예약을 했다가 정해진 시간에 송신을 하면 되겠죠?
하지만 수신의 경우는 조금 다릅니다.
보내는 쪽에서 언제 보낼지를 모르기 때문입니다.

우리가 지금 다루고 있는 통신의 인터페이스는 RS-232 통신입니다.
이 RS-232는 비 동기모드 통신 방식이라고 합니다.
여기서 말하는 비 동기 통신 방식이라는건 양쪽의 기기들에게 약속된 동기신호가 없다는 얘기입니다.
만약 정해진 동기신호(클럭)이 있다면 그 동기신호에 맞추어 데이터를 주고 받으면 됩니다만..
우리가 배우고 있는 RS-232에는 약속된 동기신호가 없습니다.
따라서 비 동기모드 통신이라고 하지요.
그러면 동기신호가 없는데 어떻게 데이터를 인식할 수가 있는지 궁금하실겁니다.
여기서 중요한건 시작비트와 종료비트 입니다.
이 때문에 일본에서는 RS-232통신을 조보통신(한문으로 쓰는건 잊어버렸습니다..^&^)이라고 하며
영어식으로 표현하면 Start-Stop Transmission 이라고 표현합니다.
이 내용 또한 시작비트와 종료비트로 동기를 맞춘다는 얘기이지요.

송신측에서 ‘1’을 보낸다고 가정을 하겠습니다.
‘1’은 10진수로는 49가 되며 16진수로는 ‘31’이 됩니다.
이때 송신측에서 문자’1’을 보내려고 하면 그 문자의 아스키코드의 10진수 형태와 16진수형태는 큰 의미가 없습니다.
즉,
MSComm1.Output = Chr$(49)
MSComm1.Output = Che$(&h31)
MSComm1.Output = “1”
위의 세가지 방법 모두 같은 데이터가 나간다는 얘기입니다.

어떤 포맷으로 보내든지간에 원하는 문자의 아스키코드에 해당하는 코드값이 8비트(혹은 7비트)로 이진 현태로 변환이 되며 그 앞에는 시작비트가 나가고 그 뒤에는 패리티비트(원할때만..) 그리고 그 뒤에는 종료비트가 붙어서 나갑니다.
이걸 단순히 생각해서 1과 0으로만 표시 해본다면..(기본 설정인 9600,n,8,1 로 설정 가정하고..)

시작비트 – 데이터 비트(8비트) – 종료비트  순으로 나갑니다. (패리티는 None이므로..)
즉,  1         0 0 1 1 0 0 0 1         1     의 순서로 나가지요. (비트간의 간격은 의미가 없습니다.)

그러면 수신측에서는 수신라인을 지켜보고 있다가 시작비트가 확인 되면 그 시점부터 정해진 시간인 100마이크로 초 (이 시간은 전송속도인 보레이트로부터 계산이 됩니다. 지금의 예는 9600보레이트이므로 1바이트에 수신에 1밀리초가 필요하며 1비트의 간격은 약 100마이크로 초입니다) 마다 샘플링을 하여 1인지 0인지를 판단합니다.
이렇게 8개의 비트를 모두 추출하면 이들을 합하여 바이트로 변환시키는 것이지요.
따라서 송신을 할 때 16진수값전송이나 10진수값전송에는 큰 의미를 두지 마시기 바랍니다.

자,다시 주제로 돌아가도록 하죠.
위와 같은 방식으로 송수신을 하기 때문에 수신자는 언제 데이터가 들어올지를 예측 할 수는 없습니다.

그래서 필요한 것들이 있습니다. 폴링과 인터럽트입니다.
물론 이들은 데이터의 수신을 그 기본목적으로 하고 있습니다.
단지 데이터의 수신이 아니고 수신의 동기를 맞추는게 더 중요한 목적이 잇다고 하겠습니다.
수신의 동기를 보다 더 정확하게 맞춘다면 데이터를 읽어내오지 않아서 발생할수 있는 오버런을 예방할수도 있으며 기기가 보내주는 중요정보를 바로 사용자에게 알려줄수 있는 효과와 잇점을 제공할수 있기 때문입니다.

폴링과 인터럽트를 다음과 같이 생각하시면 됩니다.

집에 전자오븐렌지가 있습니다.
제가 먹다남은 피자가 있길래 프로그램을 짜다말고 피자를 렌지에 넣고 시간을 맞추고 돌렸습니다.
그리고 다시 프로그램을 짜고 있습니다.
저는 피자가 다 되었는지 아직 덜 되었는지를 생각 할 필요가 없습니다.
젠자렌지에는 조리가 끝나면 ‘띵~’하는 소리로 조리가 끝났음을 알려주기 때문입니다.
따라서 저는 프로그램을 짜다말고 ‘띵~’하는 소리가 들리면 ‘ 아! 피자가 다 데워졌구나..’라고 생각하고 그에 맞는 행동을 합니다.
이것이 인터럽트입니다. 제가 어떤 일을 하더라도 이벤트가 발생하면 프로세서에게 보고가 되어지는 것..이것을 인터럽트라고 부르지요..MSComm에서는 OnComm이벤트로 대신합니다.

그런데 어느날 다시 피자를 데우려고 갔는데 전자레인지 문에 쪽지가 붙어있습니다.
“주의 - 이 전자레인지는 고장으로 인하여 조리후 ‘띵~’소리가 나오지 않음”
이때 저는 고민을 합니다. 그래도 피자를 먹을것인가..
만약 먹고 싶다면 저는 피자를 전자레인지에 넣고 조리를 시작한 다음 부터는 조리가 끝날 때 까지는 가슴을 졸이며 계속 전자레인지를 확인 해야 합니다.
그렇지 않으면 조리가 끝난걸 모르고 있다가 다 식은 피자를 먹어야 할지도 모르기 때문입니다.
이것이 폴링입니다.
어떤 작업이 끝났는지 혹은 어떤 이벤트가 일어났는지의 이벤트를 프로세서가 계속 확인을 하는 방법입니다.

우리는 경우에 따라서 폴링을 사용하거나 인터럽트(이벤트)를 사용하거나 결정을 해야합니다.
만약 두 가지를 다 사용하려고 한다면 우리는 정상적인 데이터를 얻을수 없기때문입니다.

간단하게 비교를 한다면 폴링은 데이터를 보내고 응답을 확인 하면서 기다리는 방법입니다.
다음의 소스를 생각 해보시기 바랍니다.
Comm1.InBufferCount = 0
Comm1.Output = "D" & vbCrLf

    tmp$ = ""
      sTime = Now
       Do
           DoEvents
           If Comm1.InBufferCount > 0 Then
              tmp$ = tmp$ & Comm1.Input
           
   If Right$(tmp$, 2) = vbCrLf Then
       rData = Split(tmp$, ",")
                  Exit Do
              End If
           
              sTime = Now
           End If
           
           nTime = Now
           If Abs(DateDiff("s", nTime, sTime)) >= 3 Then Exit Do
    Loop
위의 경우 명령을 보내고 난 다음 종료부호가 들어오는지 확인을 하면서 수신갭의 시간이 3초를 초과하는지 확인을 합니다.
이 처럼 데이터를 보내고 원하는 데이터를 계속 확인 하면서 기다리는 방법을 폴링이라고 생각하시면 됩니다.

하지만 인터럽트는 다릅니다.
인터럽트는 필요 시 명령을 보냅니다. 그리고 끝입니다. 왜냐면 데이터가 수신이 되면 이벤트가 발생하라고 했기 때문이지요.
그렇다면 인터럽트를 발생시키려면 어떻게 해야 할까요.
비베에서는 약 10가지의 오류 이벤트와 7가지의 이벤트가 있습니다.
우리가 원하는 데이터 수신 이벤트는 그 중의 하나입니다.
따라서 MSComm의 Oncomm 이벤트 내에서도 현재 발생한 이벤트가 데이터 수신 이벤트인지를 확인 하는 기능이 들어가야 논리적 오류를 조금이라도 줄일수 있으리라 생각됩니다.
그렇다면 어떻게 해야 이벤트를 발생 시킬 수가 있을까요?
여기서 해답을 주는 속성이 있습니다.
그것은 바로 Rthreshold 라는 속성이었던 것입니다..(개그 콘서트 버전..)

이 속성은 언제 OnComm이벤트를 발생시킬 건지를 설정하는 속성입니다.
이 속성에 0을 설정 하면 이벤트를 사용하지 않을 것 이라는 의미입니다.
즉, 폴링으로 사용하겠다는 의미이지요.
하지만 0이외의 어떤 값 이 설정되어있다면 설정한 바이트 수 만큼의 데이터가 들어오면 그때 이벤트를 발생시키겠다는 의도로 보시면 됩니다.
일반적으로는 1을 설정합니다.
이때는 데이터가 들어올때마다 이벤트를 발생된다고 보시면 됩니다.

자,정리를 하도록 하겠습니다.

데이터를 안전하게 수신하는 방법에는 폴링과 인터럽트가 있습니다.
폴링은 데이터가 들어왔는지를 스스로 확인 하는 방법이며,
인터럽트는 데이터가 들어왔을 때 프로세서에게 즉각 보고를 하도록 하는 방법입니다.
비베를 이용한 통신을 MSComm으로 위의 방법을 사용하실때는 RThreshold라는 속성을 이용하시면 됩니다.
이 속성에 0이 들어있으면 폴링방식을 사용한다는 의미이며..
0 이외의 값이 들어있으면 설정한 수 만큼의 데이터가 수신되면 그때 이벤트가 발생이 된다는것입니다.

⑥ 바이너리 데이터 처리
우리가 통신을 하는 목적은 같은 기종 혹은 이기종 간의 데이터교환을 목적으로 하고 있습니다.
여기서 말하는 데이터는 컴퓨터가 인식하는 데이터를 의미하며 흔히 아스키코드로 얘기를 합니다.
ASCII(American Standard Code for Information Interchange : 미국 표준 정보 교환 코드) 코드는 컴퓨터내부에서 문자를 표현하는 표준적인 코드 체계입니다.
7비트로 구성되며 자료의 처리나 통신 장치의 표준코드로 널리 사용되고 있습니다.
기본적인 영문자,숫자 그리고 기호들은 모두 7비트로 표현이 가능합니다.
그러나 우리나라나 중국 일본처럼 유니코드를 사용하는 나라들은 8비트를 사용해야 합니다.
최상위비트인 8번째 비트를 사용함으로서 그 데이터들을 표현할수 있기 때문입니다.

여기서 잠깐 아스키코드 테이블을 살펴보겠습니다.

아스키코드 0 ~ 31 까지의 데이터는 제어코드 영역입니다.
이 영역의 데이터들은 모두 콘트롤키와의 조합으로 사용할수 있습니다.
예를들면 우리가 사용하는 엔터키를 캐리지리턴이라고도 합니다.
아스키코드값으로는 13 (&HD)입니다. 이 값의 명칭은 CR-즉,캐리지 리턴입니다.
그리고 콘트롤키 조합으로는 CTRL-M 입니다.
그렇기 때문에 텍스트 박스같은 곳에서 엔터를 누르지 않고 CTRL 과 M 을 동시에 눌러도 같은 효과가 나는것입니다.
또한 이 영역의 데이터들은 우리가 통신을 할 때 자주 사용하는 코드들이 있습니다.
때로는 데이터 프레임의 선두에 서서 데이터를 이끌고 갈때도 있고 프레임 중간 중간에 섞여서 나갈때도 있으며 또는 데이터의 끝을 장식하는 경우가 있습니다.
흔한 예로 우리는 데이터를 보낼 때 데이터시작을 의미할수 있게 ‘STX’를 보내며,
그리고 데이터의 끝을 알아볼수 있게 ‘ETX’를 붙여서 보낸다고 가정하겠습니다.
그때 우리는 다음과 같은 방법으로 데이터의 프레임을 표현합니다.
STX + Data + ETX
이때 STX와 ETX는 제어코드로서 프레임의 형식을 통일시키는 역할을 하지요.
만약 Data 가 “123” 이라는 문자열이라면 실제 전송되는 데이터는 다음과 같습니다.
02 31 32 33 03 (16진수 형태로 표현하였습니다.)
즉,한 바이트의 제어코드로서 서로의 송수신 프레임에 대한 약속을 하는것입니다.
이러한 용도로 사용하는 것이 제어코드 입니다.
하지만 딱 정해진 규정은 없습니다. 서로간의 약속에 의해서 맞춰 사용하시면 됩니다.
 
 아스키코드 32 ~ 127 까지의 데이터는 일반 문자 영역입니다.
여기에는 각종 부호와 숫자 영문자등이 있습니다.
 
그리고  또하나의 중요한 영역이 있습니다.
아스키코드 128부터 255까지의 영역입니다.
저는 이 영역을 확장 아스키코드 영역이라고 부릅니다.
이 영역은 아까도 말씀드렸지만 우리나라나 중국,일본같은 2Byte문자를 사용하는 나라에서는 자국의 언어를 처리하는 영역으로 사용됩니다.
MSB(최 상위비트)를 1로 Set함으로서 확장된 코드를 사용할수 있습니다.
또한 이 영역은 다른 용도로도 사용됩니다.
통신을 하다 보면 송수신 데이터양을 줄이기 위해서 각 비트별 가중치를 적용하는 경우가 많이 발생합니다.
예를 들면 0에서 255까지의 숫자를 보내야하는 장비가 있습니다.
이 장비가 일반 텍스트 형태로 데이터를 보내게 되면 최대 3바이트가 전송이 되지만 바이너리 형태로 보내게 되면 1바이트로 전송이 가능합니다.
이런 경우로 인해서 바이너리 데이터 송수신이 자주 일어납니다.

자,지금부터 바이너리 데이터의 송수신에 관해서 본격적으로 설명을 드리겠습니다.

우리가 비베를 통하여 데이터를 주고 받을 때 문제가 발생하는 부분은 확장 아스키코드 영역(128 부터 255까지의 코드값을 갖는 데이터)의 데이터 송수신입니다.

예전에 비베 3.0에서는 이런 문제가 전혀 없었습니다.
그런데 비베4.0으로 올라가면서 튀어나온 문제가 확장 아스키코드 영역의 데이터 송신시 Null로 송신되는 문제였지요.
당시에 한국 마이크로소프트와도 많은 얘기를 했지만 결국은 안된다는 결론이었습니다.
MS에서 제공해준 방법은 API를 사용하는 방법이었고,그 방법또한 무난하지 않겠다는 판단에 저는 제가 아는 분께 부탁을 드려 델파이로 DLL을 만들어서 처리를 했지요.
하지만 지금은 바이트 배열이라는 방법을 통하여 문제를 처리하고 있습니다.

여기서도 송신과 수신으로 나누어 생각을 해 보도록 하겠습니다.

먼저 송신시의 바이너리 데이터 처리방법입니다.
보내고자 하는 데이터의 코드값이 128부터 255까지의 데이터가 있다면 일반 문자열 전송 방식으로는 정상적인 처리가 되지 않습니다.
이때 사용하는 방법이 바이트 배열 방식입니다.

먼저 전송하고자 하는 데이터의 크기에 맞는 바이트를 배열로 선언 한다음..
각각의 방에 전송하려는 데이터의 아스키코드값을 넣고..
MSComm의 Output 을 이용할 때 바이트 배열명을 지정하시는 방법과..
방이 하나짜리인 바이트 배열을 만들고..
전송하려는 데이터의 아스키코드값을 그 배열에 넣은다음 그때그때 전송을 하는 방법으로 생각해볼수 있습니다.

전자의 경우는 다음의 소스를 참고 하시기 바랍니다.

Dim sBuf(0 to 4) As Byte

SBuf(0) = 2  ‘STX
SBuf(1) = &h31 ‘1
SBuf(2) = &h32  ‘2
SBuf(3) = &h33 ‘3
SBuf(4) = 3  ‘ETX

MSComm1.Output = sBuf

이때 주의하실 사항은 Output할 때 지정한 배열의 모든 첨자가 다 전송이 됩니다.
예를들어 100개짜리 방을 만들고 그중 5개의 방에만 데이터를 넣은 다음 원하는 5개의 데이터만 전송을 할 수가 없습니다.
아무리 5개의 데이터를 넣고 그 데이터만 전송을 하고 싶어도 100개의 데이터가 모두 전송이 된다는걸 유념하시기 바랍니다.

후자의 경우는 다음과 같습니다.

Dim sBuf(0) As Byte

SBuf(0) = 2  ‘STX
MSComm1.Output = sBuf

SBuf(0) = &h31 ‘1
MSComm1.Output = sBuf

SBuf(0) = &h32  ‘2
MSComm1.Output = sBuf

SBuf(0) = &h33 ‘3
MSComm1.Output = sBuf

SBuf(0) = 3  ‘ETX
MSComm1.Output = sBuf

두 경우의 차이점을 생각해보시고 사용하시려는 용도에 적합한 방법으로 사용하시면 됩니다.

다음은 바이너리 데이터의 수신시 처리방법입니다.
먼저 수신하려는 데이터가 확장 아스키코드 영역의 데이터를 포함하고 있다면..
MSComm의 속성중 InputMode를 바이너리로 설정하셔야 합니다.
그리고 Input을 이용하여 데이터를 수신하는 변수는 Variant 로 선언 하시면 됩니다.
이때 InputLen의 속성에 따라 수신변수의 상황은 달라집니다.
만약 InputLen을 1로 설정 해서 한 바이트씩 데이터를 받아내면 수신 변수는 바이트변수와 비슷합니다.
그런데 InputLen이 1을 초과하면 수신 변수는 그 데이터의 크기에 맞는 바이트 배열로 됩니다.
이 속성만 잘 이해하시면 큰 문제는 없습니다.

다음의 소스를 잘 생각해보시기 바랍니다.

Dim rBuf As Variant

MSComm1.InputMode = 1 ‘Binary Mode
MSComm1.InputLen = 1  ‘1Byte씩 수신

If MSComm1.InBufferCount >=1 Then
  RBuf = MSComm1.Input  ‘이때는 바이트 변수와 같이 동작합니다.
End If

MSComm1.InputMode = 1 ‘Binary Mode
MSComm1.InputLen = 0  ‘한꺼번에 모든 데이터 수신

If MSComm1.InBufferCount >1 Then
  RBuf = MSComm1.Input  ‘이때는 바이트배열로 동작합니다.
End If         ‘만들어진 방의 개수는 UBound함수로 알아보실수 있습니다.


여기서 다시 한번 정리 하도록 하겠습니다.

MSComm의 속성중 InputMode는 데이터 수신에만 적용되는 속성입니다.
데이터 송신의 경우는 보내는 방법을 달리 함으로서 바이너리데이타를 보내실수 있기 때문에 InputMode 와는 관계가 없는 것이지요..
송신데이타중 확장 아스키코드영역의 데이터가 있다면 일반 문자열 전송방식으로는 정상적으로 송신이 되지않기 때문에 이때는 바이트 배열을 이용하시면 됩니다.

데이터 수신의 경우는 InputMode를 바이너리 모드로 하시고 Variant로 데이터를 받으시면 됩니다.
이때 데이터의 길이에 따라,혹은 InputLen의 속성에 따라 수신되는 데이터가 바이트 변수가 될수도 있고 바이트배열변수가 될수도 있습니다.

   
2) MSComm 컨트롤의 많은 중요한 5가지 속성
① CommPort   통신 포트 번호를 반환하거나 설정합니다.
② Settings    전송 속도, 패리티, 데이터 비트, 정지 비트를 문자열로 반환하거나 설정합니다.
③ PortOpen   통신 포트의 상태를 반환하거나 설정합니다. 또한 포트를 열거나 닫습니다.
④ Input    수신 버퍼에서 문자를 반환하거나 삭제합니다.
⑤ Output    문자열을 전송 버퍼에 기록합니다. 
 

3) 기타 참고 속성
① Break  중단 신호 상태를 설정하거나 해제합니다. 디자인 모드에서는 이 속성을 사용할 수 없습니다.
② CDHolding  반송파 검출(CD) 회선의 상태를 쿼리하여 반송파가 존재하는 지의 여부를 결정합니다. CD는 모뎀에서 모뎀이 온라인인 지를 나타내기 위해 연결된 컴퓨터로 보내는 신호입니다. 이 속성은 디자인 모드에는 사용할 수 없으며 실행 모드에서는 읽기 전용입니다
③ CommEvent  가장 최근의 통신 이벤트나 오류를 반환합니다. 이 속성은 디자인 모드에는 사용할 수 없으며, 실행 모드에서는 읽기 전용입니다.
④ CommID  통신 장치를 구분하는 핸들을 반환합니다. 이 속성은 디자인 모드에는 사용할 수 없으며 실행 모드에서는 읽기 전용입니다
⑤ CTSHolding  Clear To Send(CTS) 회선 상태를 쿼리하여 데이터를 보낼 수 있는지의 여부를 결정합니다. 일반적으로 전송 취소 신호는 전송이 진행될 수 있는 지를 나타내기 위해 연결된 컴퓨터에서 모뎀으로 보내집니다. 이 속성은 디자인 모드에서는 사용할 수 없으며 실행 모드에서는 읽기 전용입니다.
⑥ DSRHolding  Data Set Ready (DSR) 회선의 상태를 결정합니다. 일반적으로 데이터 설정 준비 신호는 작업할 준비가 되어 있는 지를 나타내기 위해 연결된 컴퓨터에서 모뎀으로 보내집니다. 이 속성은 디자인 모드에는 사용할 수 없으며, 실행 모드에서는 읽기 전용입니다.
⑦ DTREnable  통신 도중 Data Terminal Ready (DTR)를 가능하게 할 것인지의 여부를 결정합니다. 일반적으로 데이터 터미널 준비 신호는 컴퓨터가 들어오는 전송 신호를 받을 준비가 되어 있는 지를 나타내기 위해 컴퓨터에서 모뎀으로 보내집니다.
⑧ EOFEnable  EOFEnable 속성은 입력 도중 MSComm 컨트롤이 End Of File(EOF)를 찾을지 결정합니다. EOF 문자를 발견하면 입력이 중지되고 CommEvent 속성이 comEvEOF로 설정되면서 OnComm 이벤트가 발생합니다
⑨ Handshaking  하드웨어 초기 접속 신호 프로토콜을 반환하거나 설정합니다.
⑩ InBufferCount  수신 버퍼에서 기다리고 있는 문자의 수를 반환합니다. 이 속성은 디자인 모드에는 사용할 수 없습니다.
⑪ InBufferSize  수신 버퍼의 크기를 바이트 단위로 반환하거나 설정합니다.
⑫ InputLen  Input 속성이 수신 버퍼에서 읽는 문자의 수를 반환하거나 설정합니다.
⑬ InputMode  Input 속성에서 검색하는 데이터 형식을 반환하거나 설정합니다.
⑭ RThreshold  MSComm 컨트롤이 CommEvent 속성을 comEvReceive로 설정하고 OnComm 이벤트를 발생시키기 전에 수신할 문자의 개수를 반환하거나 설정합니다.
⑮ RTSEnable  RTS(전송 요청) 회선을 활성화 시킬지를 결정합니다. 일반적으로 데이터 전송에 대한 허가를 요청하는 RTS 신호는 컴퓨터에서 모뎀으로 보내집니다.
16 Settings  전송 속도, 패리티, 데이터 비트, 정지 비트 매개 변수를 반환하거나 설정합니다.
17 SThreshold  MSComm 컨트롤이 CommEvent 속성을 comEvSend로 설정하고 OnComm 이벤트를 발생시키기 전에 전송 버퍼에서 허용 가능한 최소 문자 개수를 반환하거나 설정합니다.

4) 초기 접속 신호
수신 및 전송 버퍼를 관리할 때는 데이터가 앞뒤로 성공적으로 전송되는지 확인해야 합니다. 예를 들어 데이터가 수신되는 속도는 버퍼 한계를 넘지 않아야 합니다.

초기 접속 신호는 데이터가 하드웨어 포트에서 수신 버퍼로 전송될 때 내부 통신 프로토콜을 참조합니다. 데이터 문자가 직렬 포트에 도달하면 프로그램이 읽을 수 있도록 통신 장치는 문자를 수신 버퍼로 옮겨야 합니다. 초기 접속 신호 프로토콜은 통신 장치가 수신 버퍼로 데이터를 옮기는 것보다 빠르게 포트에 수신되어 포화된 버퍼에서의 데이터 유실을 막아줍니다.

Handshaking 속성을 설정하여 응용 프로그램에서 사용될 초기 접속 신호 프로토콜을 지정할 수 있습니다. 기본적으로 Handshaking 속성값은 없음(comNone)으로 설정됩니다. 그러나 아래 프로토콜 중 하나를 지정할 수 있습니다.

설정    값  설명
--------------------------------------------------------------------------------------------
ComNone   0  초기 접속 신호 없음(기본값)
ComXOnXOff   1  XOn/XOff 초기 접속 신호
ComRTS    2  RTS/CTS(전송 요청/전송 취소) 초기 접속 신호
ComRTSXOnXOff   3  전송 요청과 XOn/XOff 초기 접속 신호 모두
--------------------------------------------------------------------------------------------

연결하는 장치에 따라 프로토콜을 선택할 수 있습니다. 이 값을 comRTSXOnXOff로 설정하면 두 프로토콜을 모두 지원합니다.

대부분의 경우 통신 프로토콜 자체에서 초기 접속 신호를 처리할 수 있습니다. 따라서 이 속성을 comNone 이외의 것으로 설정하면 충돌이 발생할 수 있습니다. 이 값을 comRTS나 comRTSXOnXOff로 설정하려면 RTSEnabled 속성을 True로 설정해야 합니다. 그렇지 않으면 연결하여 데이터를 보낼 수 있지만 받을 수는 없습니다.

5) MS Comm 컨트롤 의 오류 메시지
아래 표는 MSComm 컨트롤에 대해 잡을 수 있는 오류의 목록입니다.

상수    값  설명
-----------------------------------------------------------------------------------------------------------------------------
ComInvalidPropertyValue  380  속성값이 잘못되었습니다.
comSetNotSupported   383  속성은 읽기 전용입니다.
comGetNotSupported   394  속성은 읽기 전용입니다.
comPortOpen     8000  포트가 열려 있는 동안은 작동이 유효하지 않습니다
8001 시간 초과 값은 0보다 커야 합니다
comPortInvalid     8002 포트 번호가 잘못되었습니다.
8003 속성은 실행 모드에서만 사용할 수 있습니다.
8004 속성은 실행 모드에서만 사용할 수 있습니다. 
comPortAlreadyOpen   8005 포트가 이미 열려 있습니다.
8006 장치 구별자가 유효하지 않거나 지원되지 않습니다.
8007 해당 장치의 전송 속도가 지원되지 않습니다.
8008 지정된 바이트 크기가 유효하지 않습니다.
8009 기본 매개 변수가 잘못되었습니다.
8010 다른 장치에서 잠궜기 때문에 하드웨어를 사용할 수 없습니다.
8011 그 기능은 큐를 할당할 수 없습니다.
comNoOpen      8012 그 장치가 열리지 않았습니다.
8013 그 장치는 이미 열려 있습니다.
8014 comm 통지를 활성화할 수 없습니다.
comSetCommStateFailed  8015 comm 상태를 설정할 수 없습니다.
8016 comm 이벤트 마스크를 설정할 수 없습니다.
comPortNotOpen    8018 포트가 열려 있을 때만 작동할 수 있습니다.
8019 장치를 사용 중입니다.
comReadError     8020 통신 장치를 읽는 중 오류가 발생하였습니다.
comDCBError     8021 포트의 장치 컨트롤 블록을 검색하는 중에 내부 오류가 발생하였습니다.












6) MS Comm 컨트롤 의 이벤트 리스트
Private Sub Comm_OnComm ()
Select Case MSComm1.CommEvent
' 각 case 문 아래에 코드를 위치시켜 이벤트나 오류를 처리합니다.

' 오류
Case comBreak   ' 중지 신호 수신.
Case comCDTO   ' CD (RLSD) 시간 초과.
Case comCTSTO   ' CTS 시간 초과.
Case comDSRTO  ' DSR 시간 초과.
Case comFrame   ' 프레이밍 오류
Case comOverrun  ' 데이터 손실.
Case comRxOver   ' 수신 버퍼 초과.
Case comRxParity  ' 패리티 오류.
Case comTxFull   ' 전송 버퍼 꽉 참.
Case comDCB   ' DCB 검색 중 예기치 못한 오류.
     
' 이벤트
Case comEvCD   ' CD 회선 변경.
Case comEvCTS   ' CTS 회선 변경.
Case comEvDSR   ' DSR 회선 변경.
Case comEvRing   ' 호출음 검출.
Case comEvReceive  ' 데이터 수신 이벤트 발생
Case comEvSend   ' 데이터 송신 이벤트 발생
Case comEvEof   ' 파일 끝
End Select
End Sub

'Etc' 카테고리의 다른 글

매트랩 강의 블로그  (0) 2008.01.23
매트랩, 주파수분석관련  (0) 2008.01.23
10의 지수(Power of 10)  (0) 2008.01.20
unsigned int 음수 결과  (0) 2008.01.17
춤추는 대수사선 보는 순서  (0) 2008.01.12
알FTP 사이트맵 백업  (1) 2007.12.31
16진수 2진수 10진수 8진수 변환표; Hex 헥사 값 대조표  (0) 2007.12.27
시리얼 통신 관련 링크  (0) 2007.12.26
원격 데스크탑 연결 명령어  (0) 2007.12.21
키보드 최적화  (0) 2007.12.13
Posted by Baracuda
, |

알FTP 사이트맵 백업

Etc / 2007. 12. 31. 15:36
알FTP에서 사이트맵이나 접속하기 기능으로 입력한 정보는 DB파일로 저장되며
이 파일을 복사하여 새 PC의 동일한 경로에 붙여 넣으면 그대로 사용하실 수 있습니다.

사이트맵에 저장된 목록은 ESTdb1.DAT , ESTdb2.DAT 파일에 저장됩니다.

접속하기 창에 입력한 FTP주소,아이디, 저장한 비밀번호 정보는
QIPList.dat 파일과 QData.dat 파일에 있습니다.

저장된 값을 초기화(모두 삭제)하려면 이 두 파일을 삭제합니다.

알FTP 4.1 이후 버전을 사용할 때는 파일이 아래 폴더에 저장됩니다.


[ Windows Vista ]
C:\Users\사용자아이디\AppData\Roaming\ESTsoft\ALFTP\

[Windows2000, WinodowsXP]
C:\Documents and Settings\사용자 아이디\Application Data\ESTSoft\ALFTP

[WIN98]
C:\WINDOWS\Application Data\ESTsoft\ALFTP


* 사용자 아이디는 운영체제에 로그인하는 아이디를 말합니다.
Applicata Data 폴더가 숨김 속성을 가지고 있으므로 보이지 않을 때는
경로창의 주소 뒤에 "\Application Data\ESTSoft\ALFTP" 를 입력하고
엔터키를 누르면 바로 펼쳐집니다.

4.1 이전의 구버전을 사용했다면 운영체제에 관계없이
C:\Program Files\ESTsoft\ALFTP 에 저장됩니다.
Posted by Baracuda
, |

10진수로 "0에서 255"까지의 숫자를, 십육진수(Hex)/이진수(Bin)/팔진수(Oct) 등의 다른 진법으로 변환한 대조표입니다. 8진법은 많이 쓰이지 않기에 맨 뒤로 넣었습니다.

10진수 우측의 소괄호( ) 안에는, 그 숫자에 해당하는 아스키 코드 ASCII Code 를 넣었습니다. 키보드로 직접 입력할 수 없는 아스키 코드는 웹페이지에 표현이 곤란하기에, 아래 표에서 제외했습니다.

===============================================
10진수    16진수   2진수           8진수
-----------------------------------------------
  0     = 00     = 00000000     = [  0]
  1     = 01     = 00000001     = [  1]
  2     = 02     = 00000010     = [  2]
  3     = 03     = 00000011     = [  3]
  4     = 04     = 00000100     = [  4]
  5     = 05     = 00000101     = [  5]
  6     = 06     = 00000110     = [  6]
  7     = 07     = 00000111     = [  7]
  8     = 08     = 00001000     = [ 10]
  9     = 09     = 00001001     = [ 11]
 10     = 0A     = 00001010     = [ 12]
 11     = 0B     = 00001011     = [ 13]
 12     = 0C     = 00001100     = [ 14]
 13     = 0D     = 00001101     = [ 15]
 14     = 0E     = 00001110     = [ 16]
 15     = 0F     = 00001111     = [ 17]
 16     = 10     = 00010000     = [ 20]
 17     = 11     = 00010001     = [ 21]
 18     = 12     = 00010010     = [ 22]
 19     = 13     = 00010011     = [ 23]
 20     = 14     = 00010100     = [ 24]
 21     = 15     = 00010101     = [ 25]
 22     = 16     = 00010110     = [ 26]
 23     = 17     = 00010111     = [ 27]
 24     = 18     = 00011000     = [ 30]
 25     = 19     = 00011001     = [ 31]
 26     = 1A     = 00011010     = [ 32]
 27     = 1B     = 00011011     = [ 33]
 28     = 1C     = 00011100     = [ 34]
 29     = 1D     = 00011101     = [ 35]
 30     = 1E     = 00011110     = [ 36]
 31     = 1F     = 00011111     = [ 37]
 32 ( ) = 20     = 00100000     = [ 40]
 33 (!) = 21     = 00100001     = [ 41]
 34 (") = 22     = 00100010     = [ 42]
 35 (#) = 23     = 00100011     = [ 43]
 36 ($) = 24     = 00100100     = [ 44]
 37 (%) = 25     = 00100101     = [ 45]
 38 (&) = 26     = 00100110     = [ 46]
 39 (') = 27     = 00100111     = [ 47]
 40 (() = 28     = 00101000     = [ 50]
 41 ()) = 29     = 00101001     = [ 51]
 42 (*) = 2A     = 00101010     = [ 52]
 43 (+) = 2B     = 00101011     = [ 53]
 44 (,) = 2C     = 00101100     = [ 54]
 45 (-) = 2D     = 00101101     = [ 55]
 46 (.) = 2E     = 00101110     = [ 56]
 47 (/) = 2F     = 00101111     = [ 57]
 48 (0) = 30     = 00110000     = [ 60]
 49 (1) = 31     = 00110001     = [ 61]
 50 (2) = 32     = 00110010     = [ 62]
 51 (3) = 33     = 00110011     = [ 63]
 52 (4) = 34     = 00110100     = [ 64]
 53 (5) = 35     = 00110101     = [ 65]
 54 (6) = 36     = 00110110     = [ 66]
 55 (7) = 37     = 00110111     = [ 67]
 56 (8) = 38     = 00111000     = [ 70]
 57 (9) = 39     = 00111001     = [ 71]
 58 (:) = 3A     = 00111010     = [ 72]
 59 (;) = 3B     = 00111011     = [ 73]
 60 (<) = 3C     = 00111100     = [ 74]
 61 (=) = 3D     = 00111101     = [ 75]
 62 (>) = 3E     = 00111110     = [ 76]
 63 (?) = 3F     = 00111111     = [ 77]
 64 (@) = 40     = 01000000     = [100]
 65 (A) = 41     = 01000001     = [101]
 66 (B) = 42     = 01000010     = [102]
 67 (C) = 43     = 01000011     = [103]
 68 (D) = 44     = 01000100     = [104]
 69 (E) = 45     = 01000101     = [105]
 70 (F) = 46     = 01000110     = [106]
 71 (G) = 47     = 01000111     = [107]
 72 (H) = 48     = 01001000     = [110]
 73 (I) = 49     = 01001001     = [111]
 74 (J) = 4A     = 01001010     = [112]
 75 (K) = 4B     = 01001011     = [113]
 76 (L) = 4C     = 01001100     = [114]
 77 (M) = 4D     = 01001101     = [115]
 78 (N) = 4E     = 01001110     = [116]
 79 (O) = 4F     = 01001111     = [117]
 80 (P) = 50     = 01010000     = [120]
 81 (Q) = 51     = 01010001     = [121]
 82 (R) = 52     = 01010010     = [122]
 83 (S) = 53     = 01010011     = [123]
 84 (T) = 54     = 01010100     = [124]
 85 (U) = 55     = 01010101     = [125]
 86 (V) = 56     = 01010110     = [126]
 87 (W) = 57     = 01010111     = [127]
 88 (X) = 58     = 01011000     = [130]
 89 (Y) = 59     = 01011001     = [131]
 90 (Z) = 5A     = 01011010     = [132]
 91 ([) = 5B     = 01011011     = [133]
 92 (\) = 5C     = 01011100     = [134]
 93 (]) = 5D     = 01011101     = [135]
 94 (^) = 5E     = 01011110     = [136]
 95 (_) = 5F     = 01011111     = [137]
 96 (`) = 60     = 01100000     = [140]
 97 (a) = 61     = 01100001     = [141]
 98 (b) = 62     = 01100010     = [142]
 99 (c) = 63     = 01100011     = [143]
100 (d) = 64     = 01100100     = [144]
101 (e) = 65     = 01100101     = [145]
102 (f) = 66     = 01100110     = [146]
103 (g) = 67     = 01100111     = [147]
104 (h) = 68     = 01101000     = [150]
105 (i) = 69     = 01101001     = [151]
106 (j) = 6A     = 01101010     = [152]
107 (k) = 6B     = 01101011     = [153]
108 (l) = 6C     = 01101100     = [154]
109 (m) = 6D     = 01101101     = [155]
110 (n) = 6E     = 01101110     = [156]
111 (o) = 6F     = 01101111     = [157]
112 (p) = 70     = 01110000     = [160]
113 (q) = 71     = 01110001     = [161]
114 (r) = 72     = 01110010     = [162]
115 (s) = 73     = 01110011     = [163]
116 (t) = 74     = 01110100     = [164]
117 (u) = 75     = 01110101     = [165]
118 (v) = 76     = 01110110     = [166]
119 (w) = 77     = 01110111     = [167]
120 (x) = 78     = 01111000     = [170]
121 (y) = 79     = 01111001     = [171]
122 (z) = 7A     = 01111010     = [172]
123 ({) = 7B     = 01111011     = [173]
124 (|) = 7C     = 01111100     = [174]
125 (}) = 7D     = 01111101     = [175]
126 (~) = 7E     = 01111110     = [176]
127     = 7F     = 01111111     = [177]
128     = 80     = 10000000     = [200]
129     = 81     = 10000001     = [201]
130     = 82     = 10000010     = [202]
131     = 83     = 10000011     = [203]
132     = 84     = 10000100     = [204]
133     = 85     = 10000101     = [205]
134     = 86     = 10000110     = [206]
135     = 87     = 10000111     = [207]
136     = 88     = 10001000     = [210]
137     = 89     = 10001001     = [211]
138     = 8A     = 10001010     = [212]
139     = 8B     = 10001011     = [213]
140     = 8C     = 10001100     = [214]
141     = 8D     = 10001101     = [215]
142     = 8E     = 10001110     = [216]
143     = 8F     = 10001111     = [217]
144     = 90     = 10010000     = [220]
145     = 91     = 10010001     = [221]
146     = 92     = 10010010     = [222]
147     = 93     = 10010011     = [223]
148     = 94     = 10010100     = [224]
149     = 95     = 10010101     = [225]
150     = 96     = 10010110     = [226]
151     = 97     = 10010111     = [227]
152     = 98     = 10011000     = [230]
153     = 99     = 10011001     = [231]
154     = 9A     = 10011010     = [232]
155     = 9B     = 10011011     = [233]
156     = 9C     = 10011100     = [234]
157     = 9D     = 10011101     = [235]
158     = 9E     = 10011110     = [236]
159     = 9F     = 10011111     = [237]
160     = A0     = 10100000     = [240]
161     = A1     = 10100001     = [241]
162     = A2     = 10100010     = [242]
163     = A3     = 10100011     = [243]
164     = A4     = 10100100     = [244]
165     = A5     = 10100101     = [245]
166     = A6     = 10100110     = [246]
167     = A7     = 10100111     = [247]
168     = A8     = 10101000     = [250]
169     = A9     = 10101001     = [251]
170     = AA     = 10101010     = [252]
171     = AB     = 10101011     = [253]
172     = AC     = 10101100     = [254]
173     = AD     = 10101101     = [255]
174     = AE     = 10101110     = [256]
175     = AF     = 10101111     = [257]
176     = B0     = 10110000     = [260]
177     = B1     = 10110001     = [261]
178     = B2     = 10110010     = [262]
179     = B3     = 10110011     = [263]
180     = B4     = 10110100     = [264]
181     = B5     = 10110101     = [265]
182     = B6     = 10110110     = [266]
183     = B7     = 10110111     = [267]
184     = B8     = 10111000     = [270]
185     = B9     = 10111001     = [271]
186     = BA     = 10111010     = [272]
187     = BB     = 10111011     = [273]
188     = BC     = 10111100     = [274]
189     = BD     = 10111101     = [275]
190     = BE     = 10111110     = [276]
191     = BF     = 10111111     = [277]
192     = C0     = 11000000     = [300]
193     = C1     = 11000001     = [301]
194     = C2     = 11000010     = [302]
195     = C3     = 11000011     = [303]
196     = C4     = 11000100     = [304]
197     = C5     = 11000101     = [305]
198     = C6     = 11000110     = [306]
199     = C7     = 11000111     = [307]
200     = C8     = 11001000     = [310]
201     = C9     = 11001001     = [311]
202     = CA     = 11001010     = [312]
203     = CB     = 11001011     = [313]
204     = CC     = 11001100     = [314]
205     = CD     = 11001101     = [315]
206     = CE     = 11001110     = [316]
207     = CF     = 11001111     = [317]
208     = D0     = 11010000     = [320]
209     = D1     = 11010001     = [321]
210     = D2     = 11010010     = [322]
211     = D3     = 11010011     = [323]
212     = D4     = 11010100     = [324]
213     = D5     = 11010101     = [325]
214     = D6     = 11010110     = [326]
215     = D7     = 11010111     = [327]
216     = D8     = 11011000     = [330]
217     = D9     = 11011001     = [331]
218     = DA     = 11011010     = [332]
219     = DB     = 11011011     = [333]
220     = DC     = 11011100     = [334]
221     = DD     = 11011101     = [335]
222     = DE     = 11011110     = [336]
223     = DF     = 11011111     = [337]
224     = E0     = 11100000     = [340]
225     = E1     = 11100001     = [341]
226     = E2     = 11100010     = [342]
227     = E3     = 11100011     = [343]
228     = E4     = 11100100     = [344]
229     = E5     = 11100101     = [345]
230     = E6     = 11100110     = [346]
231     = E7     = 11100111     = [347]
232     = E8     = 11101000     = [350]
233     = E9     = 11101001     = [351]
234     = EA     = 11101010     = [352]
235     = EB     = 11101011     = [353]
236     = EC     = 11101100     = [354]
237     = ED     = 11101101     = [355]
238     = EE     = 11101110     = [356]
239     = EF     = 11101111     = [357]
240     = F0     = 11110000     = [360]
241     = F1     = 11110001     = [361]
242     = F2     = 11110010     = [362]
243     = F3     = 11110011     = [363]
244     = F4     = 11110100     = [364]
245     = F5     = 11110101     = [365]
246     = F6     = 11110110     = [366]
247     = F7     = 11110111     = [367]
248     = F8     = 11111000     = [370]
249     = F9     = 11111001     = [371]
250     = FA     = 11111010     = [372]
251     = FB     = 11111011     = [373]
252     = FC     = 11111100     = [374]
253     = FD     = 11111101     = [375]
254     = FE     = 11111110     = [376]
255     = FF     = 11111111     = [377]
===============================================

위의 범위 밖의 큰 숫자를 다른 진법으로 바꾸려면 윈도우 계산기에서 변환할 수 있습니다. 변환 방법은 다음 페이지에 설명되어 있습니다:
▶▶ 윈도우 계산기로, 16진수(Hex) 10진수(Dec) 8진수(Oct) 2진수(Bin) 변환

'Etc' 카테고리의 다른 글

10의 지수(Power of 10)  (0) 2008.01.20
unsigned int 음수 결과  (0) 2008.01.17
춤추는 대수사선 보는 순서  (0) 2008.01.12
시리얼 통신 - 하이퍼 터미널이용해서  (0) 2008.01.04
알FTP 사이트맵 백업  (1) 2007.12.31
시리얼 통신 관련 링크  (0) 2007.12.26
원격 데스크탑 연결 명령어  (0) 2007.12.21
키보드 최적화  (0) 2007.12.13
윈도우에서 파일 안지워질때  (0) 2007.12.11
소음이야기(펌)  (0) 2007.11.19
Posted by Baracuda
, |

시리얼 통신 관련 링크

Etc / 2007. 12. 26. 18:02

AVR(ATmega128) 시리얼 통신 제어(1) - 시리얼통신과 패러렐 통신  http://blog.daum.net/roboting/5207096

AVR(ATmega128) 시리얼 통신 제어(2) - RS-232 통신 http://blog.daum.net/roboting/5207099

 AVR(ATmega128) 시리얼 통신 제어(3) - RS-422, RS485 통신 http://blog.daum.net/roboting/5207102

AVR(ATmega128) 시리얼 통신 제어(4) - 시리얼 통신 데이터 전송 포맷 http://blog.daum.net/roboting/5207106

AVR(ATmega128) 시리얼 통신 제어(5) - 시리얼포트 특징 http://blog.daum.net/roboting/5207110

AVR(ATmega128) 시리얼 통신 제어(6) - 시리얼 통신 레지스터 http://blog.daum.net/roboting/5207113

AVR(ATmega128) 시리얼 통신 제어(7) - 회로도 http://blog.daum.net/roboting/5207115


시리얼통신의 전체적인 개요
http://www.sciencesoftware.co.kr/TALtech/Tutorials/intro_sc/intro_sc.htm

http://www.mironae.com/


Posted by Baracuda
, |
%SystemRoot%\System32\mstsc.exe
Posted by Baracuda
, |

키보드 최적화

Etc / 2007. 12. 13. 22:30
InitialKeyboardIndicators 2,
KeyboardDelay              0,
KeyboardSpeed             48

최적화 -> 저장하기, 재부팅

vb6ko.dll파일은

내컴퓨터 - c 드라이브 - WINDOWS- system32 에 저장하세요
Posted by Baracuda
, |

가끔 다운받았던 AVI 파일이 손상이 되어서 윈도우xp환경에서 avi파일이 안지워지는 경우가 있습니다..

이렇게 손상된 AVI 파일의 경우에는 이동/삭제가 불가능합니다.

이렇때엔 다음과 같이 하면 삭제가 되더군요..

1)시작/실행/regedit를 입력하고 확인을 클릭한다.

2)다음 레지스트리로 이동한다.

3)HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{87D62D94-71B3-4b9a-9489-5FE6850DC73E}InProcServer32
좌측 패널의 InProcServer32키에 마우스 우측 버튼을 클릭하고, 삭제를 클릭한다



Posted by Baracuda
, |

소음이야기(펌)

Etc / 2007. 11. 19. 15:38

소 음 이 란?


서론

1. 소음이 뭘까?

2. 소음이 우리 몸에 어떤 영향을?

3. 소음은 어떤 특징이 있나요?

4. 사람이 들을 수 있는 한계는?

5. 주파수는 왜 필요할까?

6. 주파수의 1/1과 1/3 Octave Band는 뭘까?

7. dB(데시벨)은 뭘까?

8. dB(A)는 무슨 의미일까?

9. 소리의 속도는?

10. 음의 속도와 주파수, 파장 이야기

11. SPL과 PWL 비교하기?

12. PWL의 측정은?

13. 소음의 측정방법은?

14. 측정계획 세우기

15. 설계에 필요한 기술








서   론


                                                        소음공학 = 쉽다.

                                                        소음공학 = 상식이다.

                                                        소음공학 = 누구나 반 전문가는 될 수 있다.

제가 이 자료을 쓰게 된 이유이자 사실 입니다.


 십 수년간을 소음 및 진동과 관련된 업무를 보면서 실제로는 쉽게 접근이 가능하고 실생활에 이용 할 수 있는데 그렇지 못한 점을 안타깝게 생각하다가 이렇게 자료을 쓰게 되었습니다.

 또한 모든 학문에는 원리가 있고 그것을 풀어가는 해법을 담은 이론과 많은 식들이 있습니다. 그러나 여러분은 소음, 진동을 연구하는 학자도 또한 전문가도 아니라는 관점에서 본 내용을 쓰고 또 이해를 돕는 것이 여러분이 소음공학을 쉽게 이해하고 실생활에 응용하는 지름길이라 판단하여 이론의 배경, 산출식의 원리 등은 가급적 적게하여 바로 여러분이 사용하기 원하는 답을 얻을 수 있게 만들려 노력하였습니다.

 또한 소음, 진동을 통한 직업을 갖고 계신 분들을 위하여는 기존의 접근방식과 실전에서의 접근이 가능한 방식을 열거하여 실제 현장에서 사용이 가능하게 하였습니다.

 끝으로 저의 작은 이론적 배경과 실무의 경험 및 요약에 의한 오류가 있을 수 있음을 말씀드리며, 저의 실수에 대하여 지적해 주신다면 적극 반영하여 보다 많은 분 들이 보셔서 도움이 될 수 있도록 각고의 노력을 하겠습니다.




1. 소음이 뭘까?


소음은 듣기 싫은 소리(unwanted sound) 전체를 말합니다.


객관적으로 판단하기는 어렵죠. 매우 주관적입니다. 때문에 소음에서 적용되는 많은 수치적 기준들이 대부분 통계적으로 구해진 경우가 많습니다. 꼭 알아두시길... ... (나중에 나오는 자료들을 이해하기 위한 마음가짐?)


매우 감각적이죠.

동일한 소리를 듣고도 서로의 느낌이 틀리기 때문입니다. 아무리 좋은 음악이라도 그 음악을 싫어하거나 화가나 있는 경우는 소음으로 느끼니 말입니다. 여러분도 경험이 있을 겁니다.


    예제1) 소음(소리)은 감각적이다.

예전에 통일되기 전 동독의 아름다운 처녀와 서독의 청년이 사랑을 했습니다. 둘은 매일 철의 장막이란 벽체의 양쪽에 서서 사랑을 속삭입니다. 사랑을 속삭이는데 큰 소리로는 안 되겠죠? 서로 속삭입니다. 그러나 둘은 너무나 잘 들리고 이해가 되는데 만약 주변을 지나는 다른 사람이라면 건너편의 속삭임은 들리지 않을 것입니다. 왜냐하면 관심이 없기 때문이지요. 이렇듯 관심이 있고, 없고 또한 본인의 정서 에 따라서도 달라지니 이 얼마나 주관적이고 감각적일 수 있겠어요.


그렇더라도 어떤 민원이나 상호간의 분쟁이 있으면 어떻게 할까요?

그래서 가능한 객관화한 법적근거와 자료를 만들어 이것을 정리하였죠.


우리도 함께 이런 법적인 내용과 자료를 공부해 나갈 것이고요.




2. 소음이 우리 몸에 어떤 영향을?


청력적영향

일시적 청력손실(Temporary Threshold Shift) :

큰 소음을 들은 직후에 일시적으로 나타나는 청력의 저하를 말하며, 수 초 내지 수일간의 휴식을 취한 후 정상청력으로 돌아오게 됩니다. 이런 현상이 매우 자주 일어나게 되면 영구적 청력손실로 진행이 되기 때문에 영구적 청력손실을 예측하는 근거가 되기도 합니다.


소음과 작업 허용시간

영구적 청력손실(Permanent Threshold Shift) :

일명 소음성 난청이라 부릅니다. 증상으로는 소음에 폭로된 후 수일 또는 수주가 지나도 정상청력으로 돌아오지 않으며, 주로 매우 소음이 높은 공장에서 장시간에 걸쳐 소음에 폭로 된 경우에 발생됩니다. 주로 4,000(Hz)부근의 주파수의 소리부터 난청이 시작되며, 소음에 의한 직업병이라 할 수 있습니다. 따라서 국내 및 국제적으로 이런 소음에 대하여 근무시간 등의 기준을 세워 이러한 난청이 발생치 않도록 규제하고 있으며, 대표적 기준은 아래의 표와 같습니다.(미국의 노동안전위생법 기준)


소음치 dB(A)

1일중 최대 허용시간

90

    8   시간 이하

92

    6   시간 이하

95

    4   시간 이하

97

    3   시간 이하

100

    2   시간 이하

102

    1.5 시간 이하

105

    1   시간 이하

110

    0.5 시간 이하

115

    0.25시간 이하


노인성 난청 : 주로 나이가 들어감에 따라서 증상이 나타나며, 고주파음인 6,000Hz 부근의 소리부터 난청의 증상이 나타난다.


정신적 영향

지속적 소음에 폭로될 경우 정서적 불안정 증상을 보이게 됩니다.

일반적으로 공부나 작업의 효율이 떨어지게 됩니다. 따라서 소음에 대하여 각각의 근무 또는 생활구역에 대하여 이상적인 실내소음 권장치의 근거를 마련하였으며, 이를 NC(Noise Criteria)레벨이라 부릅니다.


저는 일반적으로 적용 가능한 기준을 소개 드리고 또한 NC레벨의 주파수별 대응소음도표를 소개하겠습니다.


적용

63

125

250

500

1K

2K

4K

8K

합성치

NC15

47

36

29

22

17

14

12

11

 

NC20

51

40

33

26

22

19

17

16

 

NC25

54

44

37

31

27

24

22

21

 

NC30

57

48

41

35

31

29

28

27

 

NC35

60

52

45

40

36

34

33

32

 

NC40

64

56

50

45

41

39

38

37

 

NC45

67

60

54

49

46

44

43

42

 

NC50

71

64

58

54

51

49

48

47

 

NC55

74

67

62

58

56

54

53

52

 

NC60

77

71

67

63

61

59

58

57

 

NC65

80

75

71

68

66

64

63

62

 


NC

소음도

dB(A)

적용실명

비고

15 - 20

27 - 31

콘서트홀, 오페라하우스, 대공연장 및 대극장,  녹음 스튜디오

 

20 - 25

31 - 35

극장(500석 규모), 방송국

 

25 - 30

35 - 39

개인주택, 아파트, 중역실, 회의실, 병원의 개인병실, 수술실, 교회, 학교 교실

 

30 - 35

39 - 44

개인사무실, 일반병실, 검사실, 소형영화관, 호텔객실, 호텔의 연회장

 

35 - 40

44 - 48

일반사무실, 도서관, 체육관, 호텔로비, 호텔복도

 

40 - 45

48 - 53

전산실, 현관로비, 호텔의 서비스구역, 레스토랑, 백화점

 

45 - 50

53 - 58

카페테리아, 백화점 1, 지하층

 

50 - 55

58 - 62

수영장

 


일반적 권장치는 위의 표와 같지만 국가적, 지역적 특성과 지역 거주자들의 정서적인 특성에 따라 다소 다르게 적용이 될 수 있으며, 이에 대하여 학자들과 국가적인 관점 등이 서로 다르게 나타나고 있으므로 이는 단순한 지침 정도로 이해하시고 절대적 기준은 삼을 수 없음을 아시기 바랍니다.




3. 소음은 어떤 특징이 있나요?


감각적이고 주관적이죠. 1장에서 설명해서 잘 아시죠?


축적성이 없습니다. 소음은 대기오염과 수질오염의 경우와 달리 자연 또는 인체에 해를 끼칠 때 체내에 축적되지 않습니다. 다만 인체에 반복적으로 서서히 또는 갑자기 피해를 주게 됩니다.


국소적으로 나타납니다. 우리가 알고 있는 엄청나게 큰 소음일지라도 폐수나 분진처럼 멀리 흐르거나 이동이 되지 않습니다. 극히 지역적이죠.


다발적입니다. 우리가 살고 있는 모든 지역에 소리가 있는 한 이것은 소음이 될 수 있으며, 어디든 소음은 있을 수 있습니다.


진정 건수가 가장 많은 것이 소음이랍니다. 어디라도 존재하며, 주관적이고 감각적인 이유에서 서로 상반된 판단이 가능하고 이로 인해 어디서나 언제든지 누구나 느낄 수 있고 이것이 진정으로 이어지니 얼마나 많겠어요. 2001 년 소음으로 인한 진정건 수가 12,000건이 넘는다고 하는군요. 매일 30건 이상이네요.


대책 후 처리 할 물질이 없는 것도 소음의 특징입니다. 아시다시피 축적성이 없으니 처리 할 물질이 없겠죠.




4. 사람이 들을 수 있는 한계는?


일반적으로 사람의 청각기관인 귀로 들을 수 있는 주파수 대역은 20 ~ 20,000 Hz를 들을 수 있으며, 가청주파수라 부릅니다.


가청주파수는 대체로 신체가 건강한 사람을 기준으로 입니다. 따라서 사람별로 다소의 차이를 보인다는 것을 알 수 있겠죠. 때문에 사람에 따라서 더욱더 예민하게 들을 수 있는 경우도 있답니다.


20Hz이하의 소리를 Infra-sound라고 하며, 이는 사람의 귀로는 듣기 어렵습니다. 진동과 비슷한 형태로 인지가 되기 때문에 사람들은 잘 인식이 안 되죠. 동물들은 매우 잘 인지가 된다고 판단이 됩니다. 그래서 지진이 일어나기 전 동물들이 이를 먼저 감지해서 이동한다고들 하죠.


20,000Hz 이상의 소음을  Ultra-sound라고 부르며, 대표적으로 박쥐들이 위치 이동시 사용을 하고 있고, 의료기기에 이를 응용하여 사용을 하고 있답니다.


그렇다면 인간은 어느 정도 크기의 소음을 들을 수 있을까요?

0~130dB 정도의 소리를 들을 수 있다고 합니다. 일반적으로 건강한 사람을 기준으로 하기 때문에 사람에 따라서 다소의 차이가 있습니다.




5. 주파수는 왜 필요할까?


연구를 목적으로 만들어진 일부의 소리(이를 순음이라 부릅니다.)를 제외하고는 거의 모든 소리는 전 대역에 걸쳐 소리를 가지고 있고 이러한 각 주파수의 합성된 소리를 사람이 인지하게 됩니다.


우리가 듣고 있는 거의 모든 소리는 사람이 들을 수 있는 가청주파수인 20~20,000Hz의 모든 주파수 성분을 가지고 있다고 볼 수 있어요. 따라서 주파수 특성을 측정 할 수 있는 측정기를 사용하면 소음의 주파수 성분별 구분이 가능해요.


이러한 주파수 성분을 이용하여 소리의 음색과 특성을 변화 할 수도 있지요. 그래서 여러분들은 집에서 오디오를 들을 때 Equalizer라는 장치를 이용해서 듣기 좋은 형태로 소리를 변환해 들을 수 있고, 또한 Speaker도 종류와 모양 크기에 따라 여러가지 형태로 다양한 음색을 나타낼 수 있게 된답니다.


그런데 우리는 지금 소음 즉, 듣기 싫은 소리를 알아보고 있으므로 소리를 줄이는 방법을 알아 봐야겠죠? 예 그렇습니다.

소리의 저감에도 이러한 주파수 특성을 이용한답니다. 소리를 주파수 별로 분해를 하고요. 높은 소음이 분포한 주파수 부분의 특성을 찾아내서 그 주파수 특성에 소음 저감의 성능을 발휘할 수 있는 재료를 선정할 수 있고 그러한 재료를 사용하여야만 효과적인 소리의 저감이 가능하답니다.


이제 왜 주파수가 필요한지 아셨죠?




6. 주파수의 1/1과 1/3 Octave Band는 뭘까?


사람의 가청 주파수는 얼마? 예 맞습니다.  잘 알고 계시네요. 20~20,000Hz 정도지요.


그러면 이것을 주파수 1Hz 간격으로 분리한다면 19,981개의 주파수가 나오네요. 무지무지 많은 숫자지요. 그래서 대역의 위와 아래의 주파수가 일정한 배율이 되도록 기준을 만들었는데 그것이 1/1과 1/3 Octave Band 랍니다.


그런데 우리가 일반적으로 사용하는 것이 1/1 Octave Band이고, 이들 주파수들 중 사람들이 다소나마 민감하게 듣는 부분을 사용, 대략 8개에서 10개까지를 사용합니다.

열거를 해보면 31.5Hz, 63H, 125Hz, 250Hz, 500Hz, 1000Hz, 2000Hz, 4000Hz, 8000Hz, 16000Hz이고 가장 보편적으로는 31.5Hz와 16,000Hz도 사용하지 않습니다.


이왕 설명한 김에 1/3 Octave Band도 열거한다면,

20Hz, 25Hz, 31.5Hz, 40Hz, 50Hz, 63Hz, 80Hz, 100Hz, 125Hz, 160Hz, 200Hz, 250Hz, 315Hz, 400Hz, 500Hz, 630Hz, 800Hz, 1000Hz, 1250Hz, 1600Hz, 2000Hz, 2500Hz, 3150Hz, 4000Hz, 5000Hz, 6300Hz, 8000Hz, 10000Hz, 12500Hz, 16000Hz, 20000Hz가 됩니다.


여러분 중 누군가는 눈치를 체셨으리라 봅니다. 일정한 규칙이 있지요?

1/1 Octave Band는 계속해서 2배씩 곱한 값의 주파수를 사용하고 있군요.

그렇다면 1/3 Octave Band는? 약 1.26배를 곱해 나갑니다.

그리고 또 하나가 있는데 아시겠어요? 바로 1/1 Octave Band의 주파수를 3등분으로 나눈 것 같이 1/3 Octave Band에는 1/1 Octave Band사이에 2개씩의 주파수를 더 포함하고 있습니다. 모양이 꼭 1/1=1 즉, 1을 3등분 한 모양과 같죠? 1/3의 뜻도 아시겠죠?




7. dB(데시벨)은 뭘까?


아시다시피 dB은 소음의 단위입니다.


그런데 여기서 dB(deciBell)이란 단어를 잘 살펴보면 deci와 Bell이란 영어의 합성어로 되어 있습니다.


어원을 그대로 살펴보면 deci는 10분의1 이란 뜻을 가지고 있고, Bell은 대문자로 시작하죠? 그것은 우리가 잘 알고 있는 전화기의 발명자 Dr. Bell 의 이름에서 유래가 되었습니다.


갑자기 Dr. Bell 이 왜 나오냐구요?

그것은 소음을 측정하는 측정기의 구조와 연관이 있습니다. 즉, 측정기의 소음을 감지하는 감지부 및 감지된 값을 변환하여 우리가 알아볼 수 있도록 Analog나 Digital신호로 바꾸어 주는 시스템이 Dr. Bell이 발명한 전화기에 기인하여 만들어 졌답니다.


일단 우리가 잘 알고있는 과학상식 하나!

구리 코일을 동그란 원통으로 말아서 가운데로 자석을 움직이면 전기가 발생되며 그 전기신호를 어떤 음성이나 떨림의 형태로 변환시키는 것. 이것이 전화기의 원리입니다.


소음측정기의 원리도 동일합니다. 전화기는 전기를 박판을 떨어 소리를 발생시키지만, 측정기는 이러한 전기를 Analog나 Digital신호로 만듭니다.


어때요 이제는 dB의 의미를 아셨죠?


하지만 하나가 더 있군요.

뭐냐하면 이렇게 만드는 전기가 얼마나 되며, 이것을 dB로 표현하는 기준은 무엇이냐?

네, 맞습니다. 우리가 사용하고 있는 측정기에서 발생되는 전기의 량은 최소 10-12watt/㎡ 에서 최대 10watt/㎡ 정도의 전기를 만들어 내며, 이 값을 Log함수로 된 변환식에 적용하면 0~13의 값을 나타냅니다. 일단 말이 나온 김에 식을 알고 갑시다.  

  식) SIL = SPL = 10log( I / I0 ) = 10log ( i / 10-12 ) dB

        I      : 대상가청음의 세기(여기에 최소값 10-12와 10을 넣어보세요. 0~13까지 되죠?)

        I0    : 사람의 최소 가청음의 세기 (10-12watt/㎡)

        SIL  : 음의 세기레벨 dB

        SPL : 음압레벨 dB. 단, 최소 가청음압의 세기는 2x10-5 N/㎡이다.


그냥 알고 가기 하나!  SIL과 SPL이 같은 값이라 했는데 최소세기가 다른데 어떻게 동일한가요? 이렇게 물으시면 알려 드려야죠. 계속 파고 들어가면 끝이 없으니까. 중간식부터 유도해서 알아봐요.

음의세기 I = P²/ c로도 구할 수 있는데,

P는 음압으로 단위가 N/㎡입니다.

c는 고유 음향임피던스로 단위는 rayls를 쓴답니다. 기준 값은 400이고요.

   따라서 10log( I / I0 ) = 10log ((P²/ c) / I0) = 10log((P²/400) / 10-12) = 10log(P²/ (4x10-10)

                                 = 10log(P /(2x10-5)² =20log(P /(2x10-5) 로 됩니다.


복잡하죠? 그냥 쉽게 생각합시다. 측정기로 측정하면 이런 계산은 필요 없으니까 몰라도 된다. 그리고 만약 어떤 자료에서 단위가 N/㎡인 소음이 있는 경우 소리의 크기를 알고 싶으면 20log(알고 싶은 값/2x10-5)로 계산하면 되는구나. (왜? 우리의 목표는 측정기 만드는 게 아니니까.)


그런데 사람의 감각과 느낌을 표현하기에 14단계로 표현을 한다는 것이 매우 어렵겠죠? 그래서 앞에서 언급했듯이 실제의 값은 10분의1이란 의미의 deci를 앞에 붙여서 사용하고 있답니다.


그러면 우리 이제는 궁금한 거 하나만 알고 가죠. 우리가 집에서 사용하는 스피커의 용량을 보면 몇 Watt나 그렇게 표시가 되어 있습니다. 이것은 얼마나 큰 소리를 만들어 내느냐로 판단하면 되겠죠?


    예제1) 우리 집에는 100watt의 스피커를 쓰고 있습니다. 얼마나 크게 음악을 들을 수 있을까요?

위의 내용을 식으로 정리하면 소리의 크기 = 10log(P/P0) = 10log (100/10-12) dB = 140dB가 되는군요. 또한 스피커 용량의 정확한 표현은 몇 watt/㎡가 정확한 표현이 되겠군요. 우리의 가청한계는 130dB라고 앞서 말했지요. 너무 용량이 큰 거 아닌가요? 괜찮습니다. 단위를 보면 ㎡이 있지요? 스피커의 면적이 1㎡이면 1m 전방에서 측정하여 그 정도의 용량이 나올 것이고 실제로 스피커 자체의 단면적이 ㎡ 이상인 스피커를 쓰는 집은 없겠죠?




8. dB(A)는 무슨 의미일까?


앞에서 얘기했듯이 dB은 소리의 단위이자 측정기의 전기량을 변환하여 사용하는 것입니다. 즉 기계로 읽은 크기인 것입니다.


따라서 사람들이 듣는 것과 많은 차이를 나타낼 수 있습니다. 그래서 과학자들은 사람의 감각과 비슷하게 값을 읽고 싶어졌겠죠.

어떤 방법을 사용했느냐 하면요.

매우 많은 사람을 상대로 어떤 기준의 소음 예를 들면 1,000Hz의 100dB 값을 기준으로 각 주파수의 소음을 들려줍니다. 그리고 들려주는 각 주파수의 소음을 100dB로 들려주고서 사람들이 느끼는 소음의 정도를 1,000Hz의 소음으로 다시 들려줍니다. 그러면서 먼저 들려주었던 소리와 느끼는 소음이 동일한 정도를 알아냅니다. 이렇게 많은 사람을 실험하면 어떠한 평균적인 자료를 얻을 수 있게 됩니다. 이러한 평균적인 기계 측정의 결과와 사람의 청감각과의 차이를 보정해 주면 기계로 사람의 감각과 비슷한 정도의 측정이 가능하게 될 것입니다.

예를 든다면 63Hz에서 100dB의 소음을 들려주고 1,000Hz에서 100dB에서 시작하여 소음값을 크게 작게 하여 조사하였더니 1,000Hz의 76dB와 동일한 정도로 느끼는 사람들이 많았답니다. 그렇다면 63Hz에서 사람들은 기계의 측정값보다 26dB의 소음을 적게 감지한 것이지요. 이렇게 주파수별로 조사를 수행하였습니다.


그래서 dB에 (A)를 붙이는 것을 청감보정이라 부른답니다. 그리고 다음에서 청감보정표를 알려드리겠습니다.


A-weighting 표

주파수 (Hz)

청감보정 (dB)

허용편차 (dB)

    31.5

    -39.4

5.0

      40

    -34.6

4.5

      50

    -30.2

4.0

      63

    -26.2

3.5

      80

    -22.5

3.0

     10

    -19.1

2.5

     125

    -16.1

2.0

     160

    -13.4

2.0

     200

    -10.9

2.0

     250

     -8.6

2.0

     315

     -6.6

2.0

     400

     -4.8

2.0

     500

     -3.2

2.0

     630

     -1.9

2.0

     800

     -0.8

2.0

    1000

         0

2.0

    1250

     +0.6

2.0

    1600

     +1.0

+2.5

-2.0

    2000

     +1.2

+3.0

-2.5

    2500

     +1.3

+3.5

-3.0

    3150

     +1.2

+4.0

-3.5

    4000

     +1.0

+4.5

-4.0

    5000

     +0.5

+5.0

-4.5

    6300

     -0.1

+5.5

-5.0

    8000

     -1.1

+6.0

-5.5




9. 소리의 속도는?


일반적으로 음의 속도는 340m/s로 많이 알고 계시죠?


실제로 음의 속도는 얼마나 될 까요?

이를 알기 위해서는 다소 복잡한 이론식과 계산이 있어야 합니다. 이러한 이론식과 계산을 거쳐서 쉽게 정리된 식을 알려 드리겠습니다.


일단 우리가 알고 있는 음속 340m/s는 약 15℃ 를 기준으로 한 거예요.

제가 알려드리는 식에다 15℃ 를 넣어보죠.

음의 속도 C = 331.42 + 0.61 t(온도)를 사용하세요.

그러면 C = 331.42 + (0.61x15) =  340.5m/s가 됩니다. 이제 아셨죠.


    예제1) 대기의 온도가 40℃ 입니다. 음의 속도는 얼마나 될까요?

C = 331.42 +0.61t = 331.42 +(0.61x40)   355.8m/s가 될 겁니다.




10. 음의 속도와 주파수, 파장 이야기


여러분은 앞에서 가청주파수, 음의 속도에 대하여 공부를 했습니다.


이제는 파장을 이해하고 음의 속도, 주파수, 파장 등 3가지의 관계를 이해하기로 합시다.


일단 대기온도가 15℃ 이고요. 1/1 Octave Band를 기준으로 알아보기로 합니다. (여러분 모두 1/1Octave Band는 아시죠? 모르시면 위에서 다시 보시길.)

여기서 개념 다지기 하나. 주파수는 1초 동안 행하여진 주기적인 운동의 횟수입니다. 그렇다면 63Hz는 1초 동안 63번의 동일한 운동을 했습니다. 이때 63번의 운동 중 1번의 운동에 해당하는 길이를 1개의 파장이라 합니다. 따라서 63Hz는 1초 동안에 63개의 파장을 가진 것으로 이해를 하시면 됩니다.


자, 이제 계산을 해보시죠.

음의 속도 = 331.5 + (0.61 x 15) = 340.5 m/s 이다.

63 Hz는 1초 동안 63 개의 파장을 가지고 있다.

그렇다면 63 Hz의 1개 파장은 1초 동안 340.5 m를 63개의 파장을 가지고 있으므로 340.5를 63으로 나누면 되는군요. 즉, 63 Hz의 1파장의 길이는 약 5.4m가 되는군요.


참고로 1/1 Octave Band의 파장을 표로 만들면,


항목

63

125

250

500

1000

2000

4000

8000

파장(m)

5.4

2.724

1.362

0.681

3.405

0.17

0.085

0.043


이렇게 됩니다. 동일 에너지의 양으로 가정한다면 저주파가 에너지가 크겠군요.


파장은 왜 필요할까? 파장은 에너지의 어떤한 크기를 나타낼 수 있습니다. 한 개의 단위에너지를 나타내므로 처음에 말씀 드렸던 "소음은 물리에서 파생되었다." 라는 말과 같이 음을 줄이거나 만들어 낼 때 그음의 에너지를 이해한다면 에너지의 변화에 의해서 나타나는 음을 없애거나, 음의 생성을 이해하시는데 도움이 됩니다.

계속 공부하시다 보면 저주파의 소음 저감이 고주파보다 어려운 것을 아실 수 있습니다. 바로 파장 즉, 단위에너지가 크기 때문이랍니다.




11. SPL(Sound Pressure Level, 음압값)과 PWL(Sound Power Level, 음향파워값) 비교하기?


여러분이 소음 문제를 접하게 되시면서 꼭 구분을 해서 명확히 해야 할 것이 있는데 그것이 바로 SPL과 PWL입니다.


이유는 대단히 간단합니다. 이 값을 잘못 이해하고 적용하면 계산을 했을 때 결과가 굉장히 틀리게 나타나기 때문입니다. 때문에 차이를 명확히 구분을 지어서 이해를 하고 넘어 가도록 하시죠.(그렇지 않으면 계산을 않는 게 나을 수도 있답니다. 오답을 가지고 접근하는 것은 문제를 더욱 어렵게 만들 수 있거든요.)


영문을 그대로 이해한다면 음의 압력 값과 음의 파워 값으로 그대로 해석이 가능하겠죠.


그렇다면 음의 압력과 음의 파워의 차이는 무엇일까?

앞의 내용을 잘 읽으신 분들은 잘 아시리라 보지만 다시 한번 설명하면 소음의 측정에 있어서 측정기의 감지부에서는 소리의 음파에 의한 공기의 압력변화를 감지하게 됩니다. 즉, 소음의 측정은 SPL로 이루어집니다.

소리의 크기는 있지만 소리를 만들어 내는 기계 혹은 장비의 음을 방출하는 부분의 크기나 부피 등은 무시가 된 값입니다. 진정한 소리의 크기가 아닌 부분적 소음으로 판단을 할 수 있게 됩니다. 그에 비해 PWL은 음원의 크기를 포함하고 있게 됩니다. 따라서 어떠한 음원의 정확한 음의 크기를 알고자 한다면 PWL 값을 알아야 하겠죠?


간단히 정리하기. 소음의 측정은 SPL로 된다. 소음계산은 PWL로 한다. 자 이제는 아시겠죠?




12. PWL의 측정은?


SPL과 PWL의 차이를 아신 분들은 이제 PWL의 측정방법이 궁금하시죠?


원칙적으로 PWL의 측정은 불가능합니다. 따라서 SPL로 측정을 수행하여, SPL 값을 구하고 음원의 음장 표면적을 합성하여 구할 수 있습니다.

즉, PWL = SPL +10logS라 할 수 있습니다.


그렇지만 면적 S가 형태에 따라서 다르겠군요. 그래서 일반적으로 S값을 다음과 같이 유도해서 사용을 합니다.

    1) 무지향성 점음원 (자유공간)

        SPL = PWL - 10log(4 r²) = PWL - 20logr-11

    2) 무지향성 점음원 (반자유공간)

        SPL = PWL - 10log(2 r²) = PWL - 20logr-8

    3) 무지향성 선음원 (자유공간)

        SPL = PWL - 10log(2 r) = PWL - 10logr-8

    4) 무지향성 선음원 (반자유공간)

        SPL = PWL - 10log( r) = PWL - 10logr-5

    여기서,

        자유공간 : 공중에 스스로 떠있는 경우

        반자유공간 : 바닥과 같이 어떤 벽 또는 바닥과 인접한 경우

        점음원 : 지정 된 위치에서 이동이 없는 음원, 기계 등

        선음원 : 자동차 등과 같이 직선으로 이동하는 음원

을 의미합니다. 또한 이것은 측정거리가 어느 정도 떨어져서 구할 때 유용하며, 만약 측정지점이 측정대상 1m 떨어져서 한다면 ISO 규정의 측정방법을 따르시면 됩니다.


    예제1) 가로 3m x 세로 4m x 높이 2m의 장비가 측정결과 70dB의 소음을 발생시키고 있습니다. 본장비의 PWL 값은?

        PWL = SPL +10logS

                = 70 +10log((3+1)x(4+1) + (3+1)x(2+1)x2 + (4+1)x(2+1)x2)

                = 70 + 10log(74) = 88.7 dB


    예제2) 15m 지점에서 측정한 반자유공간의 무지향성 점음원의 소음도가 70dB일 때, PWL은?

    위의 식에서 무지향성 반자유공간인 경우는 SPL = PWL - 20logr - 8입니다.

    그러면 PWL = SPL +20logr + 8 이고, 여기서 측정지점과의 거리는 15m입니다.

    그러므로 PWL = 70 + 20log(15) + 8 =101.5dB




13. 소음의 측정방법은?


지금까지 소음의 크기를 어떻게 구하면 된다고 계속 이야기를 드렸지만 곤란한건 소음 측정방법을 모르고 계시다고요? 그럼 설명을 드려야죠.


소음의 측정은 사람의 귀를 이용한 주관적인 방법과 측정기기를 사용한 객관적인 방법 이 두 가지로 크게 구분합니다.


첫째. 사람의 귀는 매우 훌륭한 측정기가 될 수 있습니다. 가장 쉽게 측정에 사용되기도 하구요. 하지만 개개인의 취향, 성격 등에 따라서 판단이 일정치 않다는 문제가 있습니다. 또한 정형화 된 값이 없기 때문에 기준과의 차이, 목표 값의 설정 등이 안 되는군요.


둘째. 측정기기를 사용한 측정이 있습니다. 이는 객관화 된 값을 얻을 수 있게 되어 기준과의 차이와 목표 값의 설정 등이 가능합니다.


소음측정기의 선정.

측정기의 규격은 KSC-1502에 의하여 규정하고 있으며, 청취식과 지시식 두 가지와 측정주파수의 범위와 지향특성, 측정 허용오차 폭을 기준으로 정밀, 보통, 간이소음계로 나누어진다. 먼저 청취식과 지시식에서 청취식은 측정의 정확도 등이 매우 나빠 실제로는 지시식을 사용하고 있다. 우리가 쓰고 있는 거의 모든 측정기는 지시식이라 판단하면 된다.


 

주파수범위

           

정밀소음계

20-12,500

측정정밀도 우수, 주파수 특성에 따른 측정가능, 음의 지향특성 측정가능, 소음 대책을 위해서는 필수.

보통소음계

31.5-8,000

일반적 대책을 위해서 사용 가능, 지향특성 측정가능, 소음 대책을 위해서는 다소 문제가 있음.

간이소음계

70-6,000

일반적 소음의 크기에 사용, 소음대책을 위한 사용은 가급적 피해야 함.


소음 측정기를 이용한 일반적 측정절차.

측정하고자 하는 소음이 자유진행형이거나 몇 개의 지배적인 주파수로 구성되어 진행 될 경우에는 측정자와 주위 물체와 건물 등에 의한 반사음의 영향에 특히 주의를 기울여야 한다. 그러나 환경 소음과 같이 확산음장에 가깝거나 넓은 주파수 분포를 가지고 있을 경우에는 측정자에 의한 반사음의 영향은 일반적으로 무시할 수 있다.

    가) 측정시 일반적 고려사항.

        ① 측정장비의 적합성 (국내 및 국제규격 확인)

        ② 측정기의 교정절차 (공인기관의 정도검사 유,무 확인)

        ③ 측정기록 방법 (기록장비 또는 수기)

        ④ 보정특성 설정 (A특성 또는 B, C특성)

        ⑤ 측정 동특성은? (변동이 적으면 Slow, 심하면 Fast)

        ⑥ 주파수 분석기의 사용 (단순측정, 대책측정)

        ⑦ 측정지점 선정 (주변 지도 또는 도면확인 후 실사)

        ⑧ 주소음원은 무엇? (청각 및 기기측정)

        ⑨ 소음의 특성은? (충격성, 정상음, 변동성, 순음성 등)

        ⑩ 시간적 특성 (낮, 밤, 주중, 주말 등)

        ⑪ 소음원의 물리량 (PWL 산정)

        ⑫ 환경조건은? (온도, 습도, 바람 등)

        ⑬ 측정지점의 특성 (근음장, 원음장, 자유부, 잔향음부 등)

        ⑭ 측정사진


    나)측정시 주의사항

        ① 바람의 영향 (방풍망 사용, 5.5m/s이상의 경우 측정 불가)

        ② 비의 영향 (우천시 기능한 측정 불가, 만약 필요시 Rain cover를 사용)

        ③ 습기의 영향 (습기에 의한 장비의 이상이 있을 수 있으므로 제습제 또는 제습기 사용)

        ④ 전자장의 영향

            (장비의 이상 및 고장의 원인이 될 수 있으므로 일장거리를 유지하여 측정하고 그에 대한 보정을 하여 값을 구한다.)

        ⑤ 2개 이상의 복합음 영향 (계산식을 이용하여 음의 합산 및 분리)




14. 측정계획 세우기


위에서 측정기기와 주위사항 등을 잘 배우셨으니까? 그렇다면 이제는 대책을 세우기 위한 가장 중요하면서도 기본이 되는 바른 측정을 위한 측정계획을 세워 보도록 하시죠.

소음의 측정방법에는 매우 많은 형태와 방법이 있습니다. 따라서 여기서는 측정의 방법보다는 정확한 측정이 가능하도록 측정계획을 세울 수 있도록 인도해 드리도록 하겠습니다.


14-1. 측정의 목적을 명확히 하시기 바랍니다.

    1) 대외적 문제를 처리하기 위해서 인가?  민원이나 법적기준에 부적합한 경우.

    2) 내부적인 문제를 처리하기 위해서 인가?  작업자의 환경개선, 기계의 이상 유,무 판단.


14-2. 측정계획을 세우시기 바랍니다.

    1) 무엇 때문에 : 목적 및 목표의 설정

    2) 어디서 : 측정 장소의 선정 및 확인

    3) 무엇에 대하여 : 측정대상의 선정, 측정항목의 선정, 측정 조건

    4) 어떻게 : 측정방법의 선정, 측정지점의 위치 및 갯수, 측정순서

    5) 언제 : 측정 목적에 적합한 측정 시간과 측정일시, 기간

    6) 누가 : 측정 인원 및 관계자

    7) 계획서의 작성 : 상기의 사항을 반영한 계획서 작성


14-3. 측정 자료의 분석

측정을 수행 중이거나 측정 후 결과를 분석하여 측정의 목적과 부합되는 결론을 세우게 됩니다.




15. 설계에 필요한 기술


소음 공사에는 음원에 대한 대책과 전달경로에 대한 대책으로 크게 나눌 수 있다.

또한 적용기술로는 흡음에 의한 저감과 차음에 의한 저감, 방진에 의한 저감으로 나눌 수 있다.


15-1. 음원에 대한 대책세우기

소음의 원인 제거, 강제력 제거, 파동의 차단 및 감쇠, 방사률의 저감등이 있으며, 부분적으로는 다음의 기술 등을 적용할 수 있다.

    1) 발생원 대책 : 유속의 저감, 마찰력의 감소, 충돌의 방지, 공명의 방지, 저소음 형 장비로 교체

    2) 공기 통로 대책 : 가능한 최소한의 크기로 적용, 소음기의 설치, 공기통로의 변형

    3) 방음 커버 : 필요한 정도의 투과 손실과 흡음이 가능한 방음 커버의 설치

    4) 방진 및 제진 : 진동의 전달 경로에 방진기 설치, 소음 방사면에 제진 커버 시공


15-2. 전달경로 대책세우기

    1) 소음원이 있는 건물의 내벽에 흡음처리 : 실내음압의 저감

    2) 건물 벽체 및 천정의 차음성능 강화 : 소음 투과손실 증가

    3) 방음벽의 설치 : 소음 피해예상 지역과 인접한 경우 회절감쇠 및 투과손실 증가

    4) 소음원을 피해 지역과 가능한 멀리 배치 : 거리감쇠 증가

    5) 지향성의 변환 : 소음의 방향성을 변화하여 고주파음에 효과


15-3. 차음설계하기

차음이 클까? 흡음이 클까? 일반적으로 비용에 대한 효과로는 차음이 훨씬 큽니다.

차음의 기술에 있어서의 핵심은 무엇일까? 시공 자재의 면밀도 입니다. 일반적으로 면밀도와 투과손실은 비례합니다.

또한 틈새의 처리가 필수입니다. 가능한 시공시 틈이 발생하지 않도록 시공하여야 하며, 만약 틈새가 발생 할 경우에는 가능한 면밀도가 큰 자재를 사용하여 막아주어야 합니다.

차음 공사시 주의 할 사항은?

큰 음원에 작은 면밀도의 자재를 사용할 경우는 음압에 의한 진동으로 계산상의 투과 손실치를 얻을 수 없습니다. 이런 경우에는 음원 측에 Damping이 가능한 흡음재나 Damping재를 사용하여 효과를 높이는 것이 좋습니다.


    차음설계이론?

일반적으로 차음도 = 18log(M x F)-44 dB를 적용하시면 됩니다. 여기서 M은 면밀도, F는 주파수밴드입니다. 면밀도는 1m x 1m x 두께 m x 밀도를 적용합니다. 물론, 여러 자재를 복합적으로 사용하고 있고 내부에 공기층이 있는 경우도 있으므로 실제의 경우 사용하는 식은 좀 더 복잡하고 다양화 될 수 있습니다만, 소음을 처음 접하고 있는 여러분께 모두 설명드린다면 아마도 다음 줄부터 포기하실 수도 있으므로 여기서 줄이기로 합시다. 또한, 가장 정확한 계산을 유도하기 위해서는 연구기관에 있는 연구시설을 이용한 투과손실을 측정하여 그 자료를 사용하시면 됩니다.


15-4. 흡음설계하기

실내 소음의 저감과 투과손실치의 부족분을 해결하는데 사용합니다. 가격에 비해서 차음재보다 많은 비용이 소요되지만 차음에서 주의사항과 같이 진동에 의한 발생소음 또한 함께 제거하므로 실제로는 차음과 흡음을 병행하는 것이 가장 적절합니다.

흡음재의 종류에는 우리가 일반적으로 알고 있는 스폰지 형태의 Foam 계열과 유리섬유, 광섬유 등이 있습니다.

각각의 장.단점이 있습니다.

스폰지형(Foam) : 시공이 매우 쉽고, 고주파 부분의 성능이 우수함. 시공 후 수년이 경과하면 표면경화가 일어나 표면부터 부서져 내림.

유리섬유 : 거의 모든 주파수 대역에 우수한 흡음력을 나타냄. 단독시공이 불가능하여 표면에 비산을 방지하기 위한 표면처리가 필수.

광섬유 : 거의 모든 주파수 대역에 우수한 흡음력을 나타냄. 매우 가격이 저렴함. 벽체의 내부 또는 표면처리가 요구되며, 일반적으로는 완전 밀폐의 형태로 사용.


    흡음설계이론 :

1) 흡음율 : 내부의 흡음재의 흡음율로 제조사 또는 공인기관의 자료를 사용.

2) 평균흡음율 : 내부의 재료의 흡음율과 면적을 합산하여 구한다.

                        aavg =  Siai /  Si = (S1a1+S2a2+....)/(S1+S2+....)

3) 실정수를 구하자. : 재료와 흡음율을 평균한 값으로 보면 된다.

                                R = (aavg x S) / (1-aavg)

4) 흡음에 의한 감음량을 구하자 : 가장 일반적인 형태로 계산을 해보자.

                                                 L = 10log(1/2 r²+4/R) 여기서 r은 음원과 벽과의 거리로 보면 된다.


    토막상식!

흡음율은 대표적으로 다음의 3가지 방식으로 측정합니다.

무향실, 잔향실, Impendence Tube

그러나, 보다 자세한 음향적 특성을 이해하기 위해서 Flow Resist를 측정하고 이의 특성을 흡음율과 같이 적용하기도 합니다. 국내에서는 사용하지 않는 방식이나 유럽의 경우 사용하여 매우 정밀한 소음의 예측을 하고 있습니다.


15-5. 발전기 방음 설계하기

    1) 발전기 방음설계의 기준 : 공기 흡입구 측의 소음기 설치, 배기구의 소음기 설치, 본체 외부의 방음실 처리.


    2) 설계시 유의사항 :

- 발전기의 주파수별 소음도 값과 소음저감 목표치를 정한다. 이는 소음기 및 방음실의 설계시 사용자재 및 구성 등에 매우 밀접한 관련이 있기 때문이다.

- 발전기의 유지, 보수와 관련한 자료와 위치, 범위 등을 명확히 하여야 한다. 이는 본체에 방음실을 구성함에 있어서 유지, 보수 시 방음실의 유지, 보수부분만을 열고 닫을 수 있도록 처리하여 손쉬운 유지, 보수가 가능케 한다.


    15-5-1. 흡입구 소음기의 설계

- 소음저감 목표치를 만족하는 소음 삽입손실치 구하기

 

    흡음덕트형 : 중, 고음 대역에서 성능이 우수.

최대 감음 주파수의 범위는  /2 < D <   ( :대상음의 파장(m), D:닥트의 내경(m))

감쇠치  L = K x P x L / S (dB)

    K : 1.05ar1.4 (또는 K =ar - 0.1 여기서 ar은 잔향실 법에 의한 흡음율)

    P: 덕트 Cell의 내부길이(m)

    S : 덕트 Cell의 내부면적(m)

    L : 덕트의 길이(m), 최단 횡단길이의 최소 2배 이상 5∼10배 이상이 이상적.

공기의 통과 유속은 20m/s를 넘지 않도록 하는 것이 이상적이다.

기류의 각도에 변화를 줄 경우 소음 저감치가 일부분 증가하며, 충분한 유량의 공기가 공급 될 경우 고려하여 설계에 반영하는 것이 바람직하다.


    팽창형 : 저, 중음 대역에 유효하며, 내부 흡음 처리시 고음 대역의 효과 증대.

감음 주파수는 팽창부의 길이에 의하며, 길이는  /4가 이상적이다.

최대 감음량은  Lmax = (D2/D1) x 4 (dB)이며, f < fc의 주파수 범위에서 성립된다. 이때 fc=1.22x(C/D2)

일반적 감음량  L = 10log(1+0.25 x (m - (1/m))²x sin²KL) dB이다.

여기서 m= A2/A1(단면적비), K=2 f/C, L=팽창부 길이

팽창부에 흡음재를 부착하면  L' =  L + ((A2/A1) x ar) dB가 된다.


    간섭형 : 저, 중음 대역의 일정주파수에 효과.

일정주파수 f = (0.5 x C)/(L1-L2)의 홀수배의 주파수에 탁월하며, 짝수배의 주파수에서는 감음성능이 거의 없슴. 일반적으로 홀수배의  주파수에서 20dB정도로 보고 있음.


    공명형 :  저, 중음 대역의 일정주파수에 효과.

공명주파수 fr = C/2  x ((nxSp/Lp)/V)0.5 Hz이며,

이때의 감음량

 L = 10log|1+(((nxVxSp/Lp)/(2xS0))0.5 / ((f/fr)-(fr/f)))²|이 된다.

    C: 소음기내의 음속(m/s)

    n: 내관의 구멍 수

    Sp:내관 구멍 한개의 단면적(㎡)

    V: 내관과 외관 사이의 체적(㎥)

    Lp: 내관의 길이(m) + 1.6 x a(구멍의 반지름, m)

    So:소음기 출구의 단면적(㎡)

    f: 감음 목표 주파수(Hz)


    공명 공동기 : fr = C/2  x (A/(LxV)) Hz

    C: 소음기내의 음속(m/s)

    A:목의 단면적(㎡)

    L': 목의 길이(m)

    V: 공동의 부피(㎥)

    L: L'+0.8x(A)0.5 (m)

    감음량은 공명형에 적용.


    방음실의 구성.

일반적으로 외부의 철판 + 흡음재 + 보호망의 형태로 구성된다.

계산순서는 다음과 같이 정하도록 하자.

1) 흡음율 : 내부의 흡음재의 흡음율로 제조사 또는 공인기관의 자료를 사용.

2) 평균흡음율 : 내부의 재료의 흡음율과 면적을 합산하여 구한다.

                        aavg =  Siai /  Si = (S1a1+S2a2+....)/(S1+S2+....)

3) 실정수를 구하자. : 재료와 흡음율을 평균한 값으로 보면 된다.

                                R = (aavg x S) / (1-aavg)

4) 흡음에 의한 감음량을 구하자 : 가장 일반적인 형태로 계산을 해보자.

                                                 L = 10log(1/2 r2 +4/R) 여기서 r은 음원과 벽과의 거리로 보면 된다.

5) 이제는 외부로의 소음 투과손실을 구해보자. 가장 보편적인 공식으로 유도해 보자.

    TL = 18log(m x f)-44 dB

여기서, m은 방음실 구성 판넬의 면밀도. f는 각 대상 주파수이다. 물론 매우 복잡하고 다양한 식들이 있겠지만 이정도 지식이라면 간단한 정도의 방음실을 구성할 수 있으리라 본다. 너무 복잡하면 싫증이 나니까 이 정도로 마무리하고 추후 보다 깊이 있게 공부하시려거든 하시라.

6) 방진기의 설치 : 여기서는 두 가지로 방진을 생각해야 한다.

첫째 : 장비와 바닥과의 방진. 장비의 고유진동수를 감안하여 설계를 수행한다.

둘째 : 바닥과 방음실과의 방진. 소음이 새는 것과 장비의 진동에 의한 방음실의 진동에 기인한 소음의 감소,

장비와 바닥과의 방진. 장비의 방진을 위해서는 장비의 사양을 확인하여야 한다.



15-6. 무향실 설계하기

    1) 무향실이란?

무향실은 어떠한 대상 소음을 측정하기 위하여 실내의 모든 면에서 음을 완전히 흡수하여 자유음장을 인위적으로 형성하도록 만든 실입니다.


    2) 무향실의 용도알기

가) 기계류의 방사 Power 측정

나) 음향 기기나 Microphone의 지향특성 연구

다) 음향 기자재의 객관적인 음향측정, Data 비교 평가

라) 악기의 음향특성 연구, 검사

마) 음향 측정기기의 객관적인 교정검사

바) 기초 음향연구

사) 기타 음향과 관련된 광범위한 적용


    3) 무향실의 설계 계획 세우기

가) 사용목적을 명확히 하자

나) 완전무향실 또는 반무향실 선정 : 측정 대상물의 중량 등을 고려하여 선정하자.

다) 무향실의 규모 : 측정물의 크기와 실내 유효치수를 반영하여 규모를 선정하자.

라) 공조시설 설치여부 : 시설의 용도를 고려하여 공조시설의 설치 여부를 결정하자.

마) 예산의 책정 : 무향실의 규모 및 건설방법, 흡음층의 종류 등을 고려하여 예산을 책정하자.


    4) 무향실 설계하기

가) 사용목적 결정하기 : 하한주파수(Cut-off Frequency)를 기준한다.


하한주파수(Hz)

     

50

기초 음향연구

63

고급음향기기, 통신장비 개발

75

자동차 및 비행기 엔진과 부품의 개발

100

전기기기 (motor, 발전기, 변압기 등), 사무기기, 악기의 개발, 심리음악 연구

125

음향기기 연구 및 일반기기의 개발

150

자동차부품, 가정용기구의 개발


나) 무향실의 규모 결정하기 : 무향실에서 측정하고자 하는 음원의 최대치수와 Microphone의 측정거리 그리고 최소 실내유효치수를 감안하여 결정하며, 일반적으로 아래의 식을 사용하여 구한다. 또한 ISO 규정에는 음원 체적의 200배 이상을 요구하고 있다.

    LMin = (  /4 +a/2 ) + 2a +  /4 +  

            = 2.5a + /2 +  를 사용하여도 가능하지만

가능하다면 L = 4a +  /2 +   이상으로 설계함이 이상적이다.

본 규격을 각각의 면에 적용하기 위해서는 정육면체의 모양을 설계하는 것이 보다 바람직 할 것이다.


다) 공조시설의 설치 유,무 : 무향실은 공기층과 흡음재 자체가 단열재의 역할을 하므로 외기 온도의 유입 등으로 인한 온도의 변화는 그리 크지 않으나, 정확한 측정을 원하는 경우와 특수목적(냉, 난방기의 설계)으로의 사용을 위해서는 공조시설의 설치가 요구된다.

공조시설의 설치시 주의사항은 공기의 토출 유속을 최대한 느리게 설계하는 것이 필요하다. 이유는 무향실 자체의 암소음도가 매우 작게 설계가 이루어지므로 공기의 토출 유속에 의한 소음이 암소음도의 상승으로 이어질 수 있고, 이는 무향실의 성능 저하를 의미한다. 따라서 공기의 토출 유속은 최대 4m/s이하가 되도록 하여야 하며, 이상적으로는 2m/s이하로 설계하는 것을 권장한다. 또한 공기의 흐름을 측면 모서리에서 반대 측면의 모서리로 설계하면 냉, 난방 효율과 소음의 문제를 동시에 해결할 수 있다.


라) 실내 암소음도의 적용 : 일반적으로 피측정체의 주파수별 소음도를 조사하여 10dB 이상의 차이를 보이도록 설계하는 것을 원칙으로 하지만, 다용도로 사용할 경우에는 그것의 한계가 명확치 않을 수 있다. 이런 경우라도 암소음의 기준은 잡아주어야 한다. 이는 무향실의 설계에서의 가장 기본이 되는 차음성능 설계와 방진 설계를 하는데 기준이 되기 때문이다.


마) 예산의 책정 : 사용목적, 규모, 공조시설, 시내 암소음도 등 기본적인 설계의 기준이 선정되면 아래의 요건에 따라 예산의 범위를 정해보자.


    5) 무향실의 세부 설계하기

무향실의 설계의 세부사항으로 여러분들이 조사, 확인할 내용으로 이 정도의 확인이라면 여러분이 원하는 무향실을 만들 수 있으리라 확신한다. 물론, 세부적인 설계기술이 있지만 세부설계기술을 공부하시려거든 소음의 전반적인 지식이 필요하고 또한, 많은 경험이 요구되므로 여러분들이 추가로 공부를 원하신다면 많은 국내외의 참고 서적을 보시라.


가) 하한주파수(Hz) : 사용 목적에 적합하도록 선정한다.


나) 무향실의 내부 용적(가로x세로x높이) : 무향실의 규모 결정하기에 따라서 규모를 정하자.


다) 무향실의 형태(완전 또는 반무향실) : 측정 대상물의 중량 및 이동방법, 측정방법에 맞추어 선정하자.


라) 사람을 위한 출입문의 크기와 수량(가로x세로, 개소) : 별도의 측정실이 있는지, 측정실과 주변 실과의 동선을 고려하여 선정.


마) 장비를 위한 출입문의 크기와 수량(가로x세로, 개소) : 장비의 중량, 크기, 동선을 고려하여 선정.


바) 공조시설을 사용할 경우, 공조기의 용량 : 온도 및 습도의 편차를 측정 목적에 적합하도록 선정. 단, 공기의 유속을 감안하여 설계 기준 상호간의 간섭이 발생하는지를 설계시 세심히 확인이 필요.


사) 무향실에 사용할 장비에 필요한 전원의 종류와 종류별 용량 : 측정기기 및 측정 대상물의 List를 만들어 선정. 추후의 확장성을 감안하여 30%이상의 예비율을 가지는 것이 바람직.


아) 필요한 콘센트의 종류와 수량 : 측정기기 및 측정 대상물의 List를 만들어 선정. 추후의 확장성을 감안하여 선정.


자) 측정 data의 전송을 위한 BNC단자의 종류와 수량 : 측정기기의 Data의 전송과 측정 대상물의 Data 전송에 필요한 수량을 사전에 List로 만들어 확인하고 향후를 위하여 Spare 단자를 충분히 고려해 선정.


차) 실내의 조도설정 : 측정에 필요한 조도와 사진촬영 및 CCTV의 사용 등을 고려한 선정이 바람직하며, 특히 완전무향실의 경우 바닥의 특성상 전구의 교체 및 고장의 수리에 매우 큰 어려움이 있으므로 이를 반영하여 선정.


카) 추가로 요구되는 Sleeve의 크기와 수량 : 기본 설계시 반영된 이외의 측정물 또는 기타(물, 공기, 유압 등)의 측정 부분을 감안 또는 대비하여 선정


타) 바닥의 형태: 완전무향실의 경우 (Spring Cable 또는 Grating) : 측정 대상물의 형태, 중량 등을 고려하여 선정하며, Grating 시공시 측정 오차가 다소 커질 수 있음을 감안하여 선정.


파) 벽체의 구조(Panel 또는 Concrete, 건식 현장시공) : 각각의 장, 단점을 고려하여 선정.


 

차음성능

시 공 성

경 제 성

추 세

Panel

우수

매우 우수

고가

80년대 이후

Concrete

매우 우수

매우 나쁨

저렴

60년대 이전

건식현장시공

보통

우수

보통

60-80년대


하) 천정의 구조(Panel 또는 Concrete, 건식 현장시공) : 각각의 장, 단점을 고려하여 선정.


거) 바닥의 구조(Panel 또는 Concrete, 건식 현장시공) : 각각의 장, 단점을 고려하여 선정하며, 가급적 바닥의 경우는 방진시스템의 설치 등을 고려하여 Concrete를 선정함이 바람직함. 또한 바닥의 구조를 만들기 이전 방진시스템의 노후 시 교체를 위하여 하부의 구조를 Pit를 구성하여 사람이 드나들 수 있도록 하는 것이 이상적이다.


너) 방진 시스템의 선정 (Air Spring 또는 Steel Spring, Rubber Spring) : 각각의 장, 단점을 고려하여 선정.


항목

재진성능

하한주파수

경제성

비고

Air Spring

매우우수

1Hz

고가

 

Steel Spring

우수

3Hz

보통

 

Ruber Spring

보통

8Hz

저렴

 


더) 소방시설 (물 또는 Gas, Foam) : 무향실 내부의 흡음재의 재질 등을 고려하여  물의 사용을 자재 하여야 하며, Foam의 경우는 성분 및 성질을 명확히 파악 후 흡음재에 이상이 없는 한에서 선정이 가능하다. Gas의 경우는 일반적으로 무난하다.


러) 화재감지 (연기 또는 열, 기타) : 측정 대상물의 측정시 운전 조건과 부대시설의 적용부분 등을 고려하여 선정하여야 한다.


머) 측정용 보조 행거의 유,무 및 수량 : 무향실에서 큰 측정 대상물의 소음도를 측정하고자 할 경우 선정되어야 함. 단, Microphone 자동 이송장치 등을 설치 할 경우에는 불필요 할 수도 있음.


버) 측정용 보조 행거의 적재능력 : 사용하는 목적에 적합하게 선정. (Microphone, 기타 장비의 병행 사용 유,무)


서) 비상전화의 설치 유,무 : 무향실에 사용되는 문들의 경우 매우 육중하며, 만약의 경우 측정자 단독 측정 중 부상 또는 문의 잠금 장치 고장의 경우를 고려하여 선정.


어) CCTV의 유,무 및 수량 : 측정시 측정대상물의 운전상황과 측정의 적정성을 판단하고, 또한 측정 자료의 보관을 고려하여 선정


저) 측정할 피측정물의 크기(가로x세로x높이) : 무향실의 규모 및 기타 부속시설의 설치를 위하여 피측정물의 크기 및 형태를 고려하여 반영


처) 무향실에서 측정 할 측정기준(KS, ISO, ANSI, 기타) : 측정 대상물의 측정과 관련된 국내 및 국제 규격을 확인하고 규격에 적합한 설계의 기준을 만들어야 한다.


커) 사용 할 Wedge(흡음재)의 종류(Glass Wool, Melamine Foam, PU Foam, 기타) : Wedge는 무향실의 성능을 좌우하는 자재이므로 선정시 국제공인기관의 성적서(ISO 10534-1 또는 ASTM C384)를 원하는 하한주파수까지 모두 만족하는지 반드시 확인 후 사용하여야 한다. 이는 흡음재의 흡음율 측정방법이 여러 가지이며, 무향실용 Wedge의 흡음율의 측정에 적용한다.


터) Wedge의 비산방지 처리(Fiberglass cloth, PE Film, Fabric Cloth, 기타) : Glass Wool로 Wedge를 선정시 사용하는 방법으로 가급적 Fiberglass cloth의 사용이 이상적이다. 이는 흡음 성능의 저하를 방지하기 위해서 이다.


퍼) 특별히 중량물의 사용 유,무 : 만약 중량물의 측정이 있을 수 있다면 이는 매우 설계에 중요한 요인이 되므로 반드시 사용 유,무를 확정하고 설계를 마쳐야 한다.


허) 무향실의 검사 : 무향실의 검사는 각 국가별로 기준이 있을 수 있으나, 세계적으로 ISO 3745를 따르고 있으므로 ISO 3745의 기준에 따라 성능의 검사를 시행하도록 하며, ISO 3745의 규정으로 측정을 할 수 있는 국제공인 측정기관인지를 반드시 확인하도록 한다. 이는 수출품의 경우 국제적 공신력의 문제가 있을 수 있다.

ISO 3745의 내용은 별도로 구입하여 내용을 확인하도록 하자.

Posted by Baracuda
, |

원격 데스크탑 연결하기

Etc / 2007. 10. 23. 13:03

'Etc' 카테고리의 다른 글

시리얼 통신 관련 링크  (0) 2007.12.26
원격 데스크탑 연결 명령어  (0) 2007.12.21
키보드 최적화  (0) 2007.12.13
윈도우에서 파일 안지워질때  (0) 2007.12.11
소음이야기(펌)  (0) 2007.11.19
압력단위환산표  (0) 2007.09.04
사소한 데 집착하는 디테일 증후군 철저해부  (0) 2007.08.03
동영상 링크 태그  (0) 2007.07.29
트랜스포머 바탕화면 ㅋ  (0) 2007.07.03
블로그나 사이트에 접속자 수 알기  (0) 2007.06.12
Posted by Baracuda
, |

압력단위환산표

Etc / 2007. 9. 4. 16:45
사용자 삽입 이미지
Posted by Baracuda
, |