عصر یخبندان

به وبلاگ عصر یخبندان خوش آمدید

آشنایی با فناوری DVD

امروزه بسیاری از فیلمها پیش از آنکه بر روی نوارهای ویدیویی قرار گیرند بصورت DVD عرضه می شوند زیرا علاوه بر دارا بودن حجم کافی ، هزینه نهایی استفاده از آنها پایین تر است.
از اینرو تحولی که DVD در صنعت فیلم ایجاد کرد را می توان با انقلابی مقایسه نمود که عرضه CD در دنیای موسیقی بوجود آورد. در این مقاله ابتدا ساختارDVD و سپس DVD Player معرفی می گردد تا بیش از پیش با این فناوری قدرتمند آشنا شوید.

DVD چیست ؟
DVD دیسک هایی هستند همانند CD با این تفاوت که می توانند اطلاعات بسیار بیشتری را نسبت به انها ذخیره کنند. یک DVD با فرمت معمولی می تواند تقریبا هفت برابر بیشتر از یک CD اطلاعات را در خود ذخیره کند. برخی از اطلاعاتی که بطور معمول در DVD قرار میگیرد بصورت زیر است :
- بیش از 133 دقیقه از فایل ویدیویی با کیفیت بالا که معمولا دارای فرمت MPEG2 است.
- فایل های صوتی به چندین زبان مختلف که به صورت دالبی ضبط شده اند.
- 8 ساعت موسیقی با کیفیت بسیار بالای CD -

- ساختار داخلی DVD
شعاع و ضخامت DVD همانند CD است و به روش مشابهی نیز تولید می شود اما انچه که حجم ذخیره سازی بالا را در یک DVD سبب می شود فشرده بودن طراحی آن است .
اطلاعات در DVD بصورت برامدگی هایی در سطح دیسک ذخیره می شوند . یک دیسک DVD از چندین لایه پلاستیک پلی کربنیت تشکیل شده است که با روش INJECTION بر روی هم قرار می گیرند . با این روش می توان دیسکی ساخت که برامدگی های موجود در سطح ان بر مارپیچی قرار گیرد که از مرکز اغاز شده و تا شعاع بیرونی دیسک ادامه میابد.
بعد از مرحله INJECTION لایه شفافی بر روی برامدگی های دیسک قرار می گیرد و بر روی ان یک لایه طلایی نیز قرار داده میشود که همانند یک عدسی لیزر DVD Player را بر برامدگی های دیسک متمرکز می کند . بعد از ان در پشت برامدگی ها یک لایه الومینیومی نیز قرار می گیرد . 

در پایان لایه ای لاکی شکل بر روی لایه های بیرونی قرار داده می شود و پس از فشرده سازی در زیر نور مادون قرمز قرار می گیرد تا پس از ان بر لایه پشت برامدگی ها برچسب DVD قرار داده شود. بدین ترتیب مراحل طراحی یک DVD یک طرفه کامل می شود.
رمز ذخیره سازی بالای DVD در فاصله بسیار کوچکی است که هنگام طراحی مارپیچ برامدگی های ان میان دور های متوالی در نظر گرفته می شود که به 740 نانومتر میرسد. علاوه بر ان برامدگی های روی سطح DVD نیز بسیار کوچک اند و ابعادی حدود 320 در 400 نانومتر دارند. 



DVD های صوتی
DVD هائی که برای داده های صوتی استفاده می شوند ، از قالب کاملاً متفاوتی نسبت به DVD های تصویری برخوردار هستند . تفاوت این نوع از داده های صوتی با انواع قبلی مثلاً در CD ها ، به خاطر کیفیت صدای ذخیره شده در آنهاست . این تفاوت در کیفیت کاملاً برای شنونده محسوس است . پخش کننده یا Player این نوع از فایلهای صوتی باید دارای این قابلیت باشد که 192khz/24-bit اطلاعات دیجیتال را به آنالوگ تبدیل کند . و این در حالیست که Player های رایج فقط قادر به تبدیل 96kHz/24-bit اطلاعات دیجیتال به آنالوگ هستند . در جدول زیر بین دقت و صحت اطعلات ذخیره شده در DVD ها و CD ها مقایسه ای انجام شده است 


DVD ها هم مانند CD ها می توانند در نهایت صخت و دقت خود 74 دقیقه صوت را ذخره کنند ولی این تفاوت وجود دارد که میزان کیفیت و نمونه برداری در DVD بسیار بالاتر از CD است . با دقت پائین تر یعنی حدود 96 khz/24-bit ، DVD می تواند حدود 7 ساعت صوت را در خود ذخیره کند .
هنگامی که CD یا DVD می خواهند اطلاعات صوتی را در خود ذخیره کنند ، یک سری نمونه برداری بیتی صورت می گیرد که هرچه تعداد این نمونه ها در واحد زمان بیشتر باشد ، کیفیت صدا به صدای اصلی نزدیکتر است . و هنگامی که Player هم در حال خواندن CD یا DVD است ، همان قسمتی که در بالا توضیح داده شد و وظیفه تبدیل اطلاعات دیجیتال به آنالوگ را بر عهده دارد ، مشخص می کند که چه ولتاژی باید در خروجی قرار بگیرد تا صوت مربوطه تولید شود . 

پخش کنندهDVD یا DVD Player :
عملکرد player ِ DVD همانند عملکرد Player CD می باشد . این هم باید با استفاده از یک دستگاه اشعه های لیزری به روی صفحه Disk می تاباند و بر اساس چاله هائی که روی صفحه موجود است می توان اطلاعات روی آن را بخواند . اطلاعات تصویری در DVD با فرمت MPEG-2 ذخیره شده است و پس از خواند این اطلاعات Player آنها را به صورت سیگنالهای تصویری تبدیل می کند . به همین ترتیب برای داده های صوتی که با استفاده از یک Decoder آن را می خواند و سپس تقویت می کند .
تجهیزاتی که برای خواندن داده ها بر روی DVD استفاده می شوند از سه قسمت اصلی تشکیل شده اند :
• یک موتور برای چرخاندن دیسک ، این موتور بسته به اینکه در حال خواندن کدام شیار است بین 200 تا 500 دور در دقیقه می چرخد .
• سیستم لیزر و لنز مربوطه برای اینکه تبتواند روی چاله ها تمرکز کرده و اطلاعات را بخواند . طول موج لیزر در DVD بسیار کمتر از سول موج آن در CD می باشد ، و به همین دلیل است که می تواند اطلاعات بیتری رادر خود ذخیره کند و بخواند . طول موج لیزر در DVD 640 نانومتر است در حالی که در CD 780 نانومتر می باشد. و این دلیل عمده برتری DVD بر CD است .
• سیستم پیگیری یا Tracking که می تواند لیزر را به شیآر مورد نظر برساند و قادر است با دقت میکرون حرکت کند .
Player لیزر را به سمت صفحه دیسک می تاباند و منعکس می شود ، سیستم پخش کننده قادر به تفکیک دو نوع بازگشت نور یعنی نوری که از چاله ها بازگشته و نوری که از صفحه اصلی بازگشته است را می تواند بوسیله یک وسیله نوری – الکتریکی تفکیک کند .
مشکل ترین قسمت در خواند اطلاعات از روی DVD ثابت نگه داشتن اشعه روی یک شیار مشخص است که این وظیفه سیستم پیگیری است . این سیستم باید همانیور که پخش کننده در حال خوانده اطلاعات است لیزر را به سمت بیرون هدایت کند و حرکت دهد . از آنجائی که با حرکت لیزر به سمت بیرون تعداد چاله هایئ که در واحد زمان از زیر لیزر رد می شوند بیشتر هستند ، موتور حرکت دهنده باید سرعت دیسک را کاهش دهد تا همواره نرخ ثابتی از چاله ها از زیر لیزر رد شوند .
نکته جالب توجه اینجاست که اگر DVD دارای دو لایه باشد ، شروع شیار لایه دوم در انتهای دیسک قرار می گیرد تا هد برای خواندن از لایه دوم لازم نباشد که ی: بار دیگر به اتدا بازگردد . این عمل خود باعث ایجاد سرعت در خواندن اطلاعات می شود .

قابلیتهای یک DVD :
• تماشای فیلمهای با کیفیت بالا به همراه صدای با کیفیت . اکثر فیلمهائی که به صورت DVD عرضه می شوند دارای صدای Dolby هستند و همان کیفیتی که شما در سینما می شنوید را به شما عرضه می کنند .
• کسی که فیلم DVD را طراحی این قابلیت را داراست که برای برخی قسمتهای فیلم لیبل قرار دهد و شما می توانید به راحتی به قسمت مورد نظر پرش کنید .
• Player ها ی DVD این قابلیت را دارا هستند که CD های صوتی را نیز پخش کنند.
• شما میتوانید فرمت نمایش تصویر را مشخص کنید .
• بسیاری از فیلمهائی که با DVD ذخیره شده اند برای زبانهای مختلفی زیرتویس دارند ، شما می توانید در حالی که در حال مشاهده فیلم هستید ، زیرنویس مورد نظر خود را انتخاب کنید ، تا در زیر فیلم به نمایش در آورده شود .

برخی دیگر از ویژگیهای DVD Player ها :
• دیکودر دیجیتال دالبی : این قابلیت برای تبدیْ اطلاعات صوتی در DVD به 6 کانال صوتی مجزا می باشد .
• دیکودر DTS : (Digital Surround Audio) این دیکودر این قابلیت را دارد که صدا را به صورت فراگیر به 6 کانال خروجی بفرستد .
• صدای شبیه سازی شده : اگر شما بخواهید که DVD Player را به یک سیستم با تنها دو بلندگو متصل کنید ، پخش کننده می تواند صدا را به روی دو بلندگو شبیه سازی کند و شما نیازی به 6 بلندگو نداشته باشید .
• کنترل از راه دور یا Remote : DVD Player ها می توانند سه نوع مختلف از کنترل را دارا باشند :
1. کنترلی که تنها خود DVD Player را کنترل می کند .
2. کنترلی که می تواند برخی از ساخته های کارحانچات دیگر را هم کنترل کند .
3. کنترلی با قابلیت یادگیری ، به این معنی که سیگنالهای بقیه کنترلها را می توان به کلید خاصی در این کنترل نسبت داد .

+   فرید حمیدی ; ٩:۱۸ ‎ق.ظ ; یکشنبه ۱۱ بهمن ۱۳۸۸
    پيام هاي ديگران ()  
 

توابع ریاضی در ویژوال بیسیک

برای نوشتن برنامه‌های مهندسی، محاسباتی، گرافیکی و آماری نیاز دارید تا از برخی توابع ریاضی استفاده نمائید. ویژوال بیسیک 6 دارای مجموعه‌ای از توابع است که برای انجام محاسبات عددی پیش بینی شده اند. در این مقاله ابتدا با این توابع آشنا شده و سپس چگونگی ایجاد سایر توابع ریاضی را که در میان این مجموعه وجود ندارند خواهید دید. در پایان نیز با توابع ریاضی موجود در دات نت آشنا می‌شوید.

تابع Abs (قدرمطلق) :
مقدار بدون مثبت یک عدد را برمی‌گرداند.

تابع Atn (آرک تانژانت) :
خروجی این تابع عددی از نوع double است که برابر زاویه‌ای است که تانژانت آن عدد ورودی تابع است.

تابع Cos (کسینوس) :
خروجی این تابع عددی از نوع double است که برابر کسینوس زاویه ورودی است.

تابع Exp (توان نمانی) :
خروجی این تابع عددی از نوع double است که برابر e به توان ورودی تابع است.

تابع Int (تابع کف یا تابع جزء صحیح) :
نزدیکترین عدد صحیح مساوی یا کوچکتر نسبت به عدد ورودی را برمی‌گرداند.

تابع Log (لگاریتم) :
خروجی این تابع عددی از نوع double است که برابر لگاریم طبیعی عدد ورودی است (لگاریتم بر مبنای عدد e یا همان Ln).

تابع Round (گرد کردن) :
خروجی این تابع عددی از نوع double است که برابر نزدیکترین عدد صحیح به مقدار عدد ورودی است.

تابع Sgn (علامت) :
خروجی این تابع عددی از نوع صحیح است که نشان دهنده علامت عدد ورودی است.

تابع Sin (سینوس) :
خروجی این تابع عددی از نوع double است که برابر سینوس زاویه ورودی است.

تابع Sqr (جذر) :
خروجی این تابع عددی از نوع double است که برابر ریشه دوم یا جذر عدد ورودی است.

تابع Tan (تانژانت) :
خروجی این تابع عددی از نوع double است که برابر با تانژانت زاویه ورودی (برحسب رادیان) می‌باشد.

نکته: برای محاسبه توان nام یک عدد (n می توان صحیح یا اعشاری باشد) از اپراتور ^ استفاده نمائید. برای مثال:

2 ^ 5 = 32
9 ^ 0.5 = 3
4.2 ^ 3.7 = 202.31

ایجاد سایر توابع ریاضی که در ویژوال بیسیک 6 وجود ندارند :

جدول زیر چگونگی محاسبه سایر توابع ریاضی که در ویژوال بیسیک 6 وجود ندارند را نشان می‌دهد:

     
تابع
فرمول 
سکانت  Sec(X) = 1 / Cos(X) 
کسکانت  Cosec(X) = 1 / Sin(X) 
کتانژانت  Cotan(X) = 1 / Tan(X) 
آرک سینوس  Arcsin(X) = Atn(X / Sqr(1-X * X )) 
آرک کسینوس  Arccos(X) = Atn(-X / Sqr(1-X * X)) + 2 * Atn(1) 
آرک سکانت  Arcsec(X) = Atn(X / Sqr(X * X - 1)) + Sgn((X) -1) * (2 * Atn(1)) 
آرک کسکانت  Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1)) 
آرک کتانژانت  Arccotan(X) = Atn(X) + 2 * Atn(1) 
سیونس هیپربولیک  HSin(X) = (Exp(X) - Exp(-X)) / 2 
کسینوس هیپربولیک  HCos(X) = (Exp(X) + Exp(-X)) / 2 
تانژانت هیپربولیک  HTan(X) = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X)) 
سکانت هیپربولیک  HSec(X) = 2 / (Exp(X) + Exp(-X)) 
کسکانت هیپربولیک  HCosec(X) = 2 / (Exp(X) - Exp(-X)) 
کتانژانت هیپربولیک  HCotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X)) 
آرک سینوس هیپربولیک  HArcsin(X) = Log(X + Sqr(X * X + 1)) 
آرک کسینوس هیپربولیک  HArccos(X) = Log(X + Sqr(X * X - 1)) 
آرک تانژانت هیپربولیک  HArctan(X) = Log((1 + X) / (1 - X)) / 2 
آرک سکانت هیپربولیک  HArcsec(X) = Log((Sqr(1-X * X) + 1) / X) 
آرک کسکانت هیپربولیک  HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) +1) / X) 
آرک کتانژانت هیپربولیک  HArccotan(X) = Log((X + 1) / (X - 1)) / 2 
لگاریتم بر مبنای N  LogN(X) = Log(X) / Log(N) 
   
 

برای استفاده از اعداد پی و e در برنامه‌های خود، ثوابت زیر را تعریف نمائید:

Const Pi = 3.14159265358979
Const e = 2.71828182845904

همچنین عدد پی را می‌توان به صورت زیر تعریف کرد:

Pi = 4 * Atn(1)

تبدیل رادیان به درجه

چون اکثر توابع مثلثاتی بر حسب رادیان کار می کنند گاهی اوقات نیاز داریم تا زوایا را از در جه به رادیان و بالعکس تبدیل کنیم. برای تبدیل یک زاویه بر حسب رادیان به درجه، آنرا در 180 ضرب کرده و سپس بر عدد پی تقسیم می‌کنیم:

Degree(x) = x * 180 / Pi

برای تبدیل یک زاویه بر حسب درجه به رادیان، آنرا در عدد پی ضرب کرده و سپس بر 180 تقسیم می‌کنیم:

Rad(x) = x * Pi / 180

+   فرید حمیدی ; ٧:٥٢ ‎ق.ظ ; یکشنبه ۱۱ بهمن ۱۳۸۸
    پيام هاي ديگران ()  
 

Farsi.NET اولین زبان برنامه نویسی کاملاً فارسی برای دات نت

اگر با پلت فرم دات نت شرکت مایکروسافت آشنا باشید، می دانید که زبان های برنامه نویسی مختلفی برای برنامه نویسی در این محیط وجود دارد. از زبان های مایکروسافت مثل سی شارپ و ویژوال بیسیک گرفته تا زبان هایی همچون Ruby.NET و Python for .NET برنامه نویسان را قادر می سازد تا به زبان مورد علاقه ی خود برای این پلت فرم برنامه بنویسند.

هر چند تا به حال زبان های غیر مایکروسافتی آنچنان که C#, C++ , Visual Basic در پلت فرم دات نت کاربرد دارند، مورد استفاده قرار نمی گیرند اما تقریباً برای بسیاری از زبان های معروف یک نسخه برای دات نت وجود دارد. لیستی کامل از زبان های موجود برای پلت فرم دات نت را می توانید در این صفحه ببینید.

در میان تعداد زیادی زبان برنامه نویسی که برای پلت فرم دات نت وجود دارد، به تازگی زبانی کاملاً فارسی به نام Farsi.NET طراحی و پیاده سازی شده است که امکان ایجاد برنامه های شیء گرای  تحت دات نت را به زبان کاملاً فارسی به برنامه نویسان می دهد. دستورات فارسی دات نت کاملاً باید به زبان فارسی و از راست به چپ تایپ شوند و قواعد آن بسیار شبیه زبان سی شارپ است. در واقع فارسی دات نت طوری پیاده سازی شده است که ابتدا به زبان سی شارپ ترجمه می شود و سپس با استفاده از کامپایلر سی شارپ به فایل اجرایی تبدیل می گردد. در عکس زیر نمونه برنامه ی ساده ای را به زبان Farsi.NET مشاهده می کنید.

برنامه ای ساده ببه زبان Farsi.NET

برنامه ای ساده به زبان Farsi.NET

عیبی ندارد اگر منظور برنامه ی بالا را متوجه نشدید، حتی یک برنامه نویس دات نت نیز نمی تواند با اولین نگاه از این برنامه سر در بیارد! در واقع اولین کاری که شما باید برای برنامه نویسی به زبان Farsi.NET انجام دهید یادگیری قواعد نحوی (Syntax) آن است، که این مشکل با خواندن راهنمای قواعد برنامه نوبسی Farsi.NET حل می شود. شاید با خودتان بگوئید “با وجود زبان های قدرتمندی مثل سی شارپ، دیگر چه احتیاجی به این زبان است!”، خب، برای جواب به این سئوال ابتدا تعریف طراح این زبان را خواهیم خواند :

  • فارسی‌نت حاصل ماه‌ها مطالعه، طراحی و برنامه‌نویسی است. سی‌شارپ، دلفی و اسکویک (اسمالتاک) بر طراحی این زبان موثر بوده‌اند، اما حقیقت این است که فارسی‌نت یک زبان کاملا فارسی (پارسی) است. به‌نظر می‌رسد این اولین باری باشد که موضوع طراحی یک زبان برنامه‌نویسی فارسی با این وسعت مورد مطالعه قرار می‌گیرد. در این پروژه پیاده‌سازی نسبتا کاملی نیز از فارسی‌نت صورت گرفته و حداقل‌های یک محیط توسعه مجتمع برای آن فراهم شده است.
    فارسی‌نت یک زبان شی‌گرا برای محیط دات‌نت است و فقط در حالت مدیریت‌شده (با امکانات جمع‌آوری آشغال) اجرا می‌شود. نحو این زبان ابتکاری است اما معنای ساختارهای آن بیشتر شبیه سی‌شارپ است.

قبل از هر پیش داوری در مورد این پروژه باید بدانید که Farsi.NET را یک دانشجوی جوان رشته نرم افزار به تنهایی طراحی و پیاده سازی کرده است. هدف سازنده هر چه بوده و هست، برای خودش با ارزش است و این حرکت او کاملاً جای تقدیر دارد. همان طور که انتظار می رفت خیلی ها این پروژه را بی فایده و بدون کاربرد دانسته اند (نمونه ای از این بحث را در سایت برنامه نویس ببینید). اما به نظر من و برخی دیگر، حداقل این پروژه می تواند به عنوان یک زبان آموزشی در محیط دات نت و در جهت آموزش مفاهیم شیء گرایی و مفاهیم دیگر برنامه نویسی مورد استفاده قرار گیرد.

نسبت به پروژه های دیگری که در فضای آکادمیک ما ارائه می شوند، Farsi.NET واقعاً جای تقدیر دارد. اگر به عنوان پروژه هایی که در دانشگاه های مختلف ما ارائه می شوند نگاهی بیندازید متوجه منظور من خواهید شد. جدا از فضای آکادمیک کشور، در بعضی موارد شرکت های مختلف نیز به بهانه ی پروژه های بومی (مثل این و این) از دولت پول های کلانی برای ادامه ی پروژه های ناقص شان می گیرند که هیچ وفت به ثمر نمی رسند. پس زود نتیجه گیری نکنید و منتظر خبرهای خوشایندی از پروژه Farsi.NET در آینده باشید.

برای آشنایی بیشتر با این پروژه و استفاده از آن :

+   فرید حمیدی ; ٧:۳٢ ‎ق.ظ ; یکشنبه ۱۱ بهمن ۱۳۸۸
    پيام هاي ديگران ()  
 

design by macromediax ; Powered by PersianBlog.ir