亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? patch.mobile

?? ns2網絡仿真中超寬帶的實現
?? MOBILE
?? 第 1 頁 / 共 5 頁
字號:
diff -Naur --ignore-matching-lines='Version Date' --ignore-matching-lines=cvsroot --ignore-matching-lines=CVSROOT /home/rmerz/NS/ns-allinone-2.26/ns-2.26/mobile/mod_codedppm.cc mobile/mod_codedppm.cc--- /home/rmerz/NS/ns-allinone-2.26/ns-2.26/mobile/mod_codedppm.cc	1970-01-01 01:00:00.000000000 +0100+++ mobile/mod_codedppm.cc	2004-02-17 12:09:40.000000000 +0100@@ -0,0 +1,227 @@+/* -*-	Mode:C++; c-basic-offset:8; tab-width:8; indent-tabs-mode:t -*- */++/* ======================================================================+   Pulse Position Modulation with Punctured Codes+   ====================================================================== */++// XXX hack: all these parameters depend on Tc = 0.7ns, but Tc actually depends on PHY::frequency_range_+// --> use fixed FREQUENCY_RANGE for now (this assume Durisi's Tf actually has 100 slots)++// P_DELTA is delta * frequency range from Durisi+#define P_DELTA 0.1984+#define GAMMA -0.6183++#define PPM_TABLE_ROWS 41++#include "mod_codedppm.h"+#include <math.h>+#include <stdlib.h>+#include <random.h>+#include "modulation.h"+#include "packet.h"+#include "mac.h"+#include "mac-ifcontrol.h"++#include "ppm.cc"++double CodedPPM::PPM_erasure_table[MODULATION_NUM_CODES] = {+        {1.000000},+        {0.250000},+        {0.150000},+        {0.125000},+        {0.100000},+        {0.090000},+        {0.090000},+        {0.080000},+        {0.750000},+        {0.750000},+        {0.750000},+        {0.070000},+        {0.070000},+        {0.070000},+        {0.070000},+        {0.070000},+        {0.067500},+        {0.067500},+        {0.067500},+        {0.065000},+        {0.065000},+        {0.065000},+        {0.065000},+        {0.065000},+        {0.060000},+        {0.060000},+        {0.060000},+        {0.060000},+        {0.060000},+        {0.060000}+};++double CodedPPM::PPM_rate_table[MODULATION_NUM_CODES] = {+ 8.0/9.0,+ 8.0/10.0,+ 8.0/11.0,+ 8.0/12.0,+ 8.0/13.0,+ 8.0/14.0,+ 8.0/15.0,+ 8.0/16.0,+ 8.0/17.0,+ 8.0/18.0,+ 8.0/19.0,+ 8.0/20.0,+ 8.0/21.0,+ 8.0/22.0,+ 8.0/23.0,+ 8.0/24.0,+ 8.0/25.0,+ 8.0/26.0,+ 8.0/27.0,+ 8.0/28.0,+ 8.0/29.0,+ 8.0/30.0,+ 8.0/31.0,+ 8.0/32.0,+ 1.0/5.0,+ 1.0/6.0,+ 1.0/7.0,+ 1.0/8.0,+ 1.0/9.0,+ 1.0/10.0+};++/*+static double PPM_rate_table[MODULATION_NUM_CODES] = {+	8.0/9.0, 4.0/5.0,  2.0/3.0,  4.0/7.0,+	1.0/2.0, 4.0/9.0,  4.0/10.0, 4.0/11.0,+	1.0/3.0, 4.0/13.0, 2.0/7.0,  4.0/15.0,+	1.0/4.0+};+*/++static class ModulationCodedPPMClass: public TclClass {+public:+        ModulationCodedPPMClass() : TclClass("Modulation/CodedPPM") {}+        TclObject* create(int, const char*const*) {+                return (new CodedPPM);+        }+} class_ModulationCodedPPM;++double CodedPPM::SNRtoBER(double SNR, int code)+{+	double ber = 1.0;+	int row = 0;++	// outside table+	if (SNR < PPM_ber_table[code][0][0])+		return 1.0;++	// determine table row (SNR)+	while ((PPM_ber_table[code][row][0] < SNR) && (row < PPM_TABLE_ROWS))+		++row;++	// determine success for each of the codes with the given SNR+	if (row == 0)+		ber = PPM_ber_table[code][0][1];+	else if (row == PPM_TABLE_ROWS)+		ber = PPM_ber_table[code][PPM_TABLE_ROWS-1][1];+	else // linear interpolation+		ber = PPM_ber_table[code][row-1][1] + +			(PPM_ber_table[code][row-1][1] - PPM_ber_table[code][row][1]) *+			(SNR - PPM_ber_table[code][row-1][0]) / (PPM_ber_table[code][row-1][0] - PPM_ber_table[code][row][0]);+	return ber;+}++int CodedPPM::calcBestCode(int code, double SNR, double x, int pktsize) {+	double per, ber;+	int best = code;++	do {+		--best;+		if (best < 0)+			break;+		ber = SNRtoBER(SNR, best);+		per = 1.0 - pow(1 - ber, pktsize * 8.0);+	} while (x >= per);+	// the last one didn't work so the best code is the next more powerful one+	best += 1;+	if (best > MODULATION_NUM_CODES - 1)+		best = MODULATION_NUM_CODES - 1;+	return best;+}++int CodedPPM::BitError(double receivedPower, double interferencePower, double noisePower, Packet* p, double erasure)+{+	hdr_cmn *hdr = HDR_CMN(p);++	double bitErrorProbability, packetErrorProbability;+	int numErrors;+	int code = HDR_MAC_IFControl(p)->code_id_;++	//XXX: interferencePower multiplied by 1/Tf (== bitrate_) at PHY (only for CodedPPM)+	double SNR = receivedPower / (P_DELTA * (1.0 - GAMMA)*(1.0 - GAMMA) * interferencePower + 2 * noisePower * (1.0 - GAMMA));++	// HACK for CACDMA (margin *=2  ~3dB)+	// power at rx = (min_SNR * margin)(N+I)    (with min_SNR = 4dB)+	// at sender /= channel gain+	cacdma_power_ = ((pow(10,4.0/10.0) * 2) * (receivedPower/SNR)) / (receivedPower / p->txinfo_.getTxPr());++	// convert to dB+	SNR = 10 * log10(SNR);++	// shift due to erasures+	SNR -= erasure;++	//double y = sqrt(SNR/2);+	//double bitErrorProbability = 0.5*erfc(y);++	bitErrorProbability = SNRtoBER(SNR, code);+	packetErrorProbability = 1.0 - pow(1 - bitErrorProbability, hdr->size() * 8.0);++	double x = Random::uniform();+	if (x < packetErrorProbability) {+		numErrors = 1;+		best_code_ = -1; // "best code" invalid since packet had errors+	} else {+		numErrors = 0;+		best_code_ = calcBestCode(code, SNR, x, hdr->size());+	}++	struct hdr_mac *mh = HDR_MAC(p); // XXX only for debugging+	printf("%.9f %i -> %i (no. %i) SNR %.3f [%.2f / (%.2f + %.2f) dBm], BER %.3e PER %.4f (%i bytes) -> %s PPM code %i best %i\n",+	       Scheduler::instance().clock(), mh->macSA_, mh->macDA_, hdr->uid(), SNR, +	       10.0 * log10(receivedPower) + 30, 10.0 * log10(interferencePower) + 30, 10.0 * log10(noisePower) + 30,+	       bitErrorProbability, packetErrorProbability, hdr->size(),+	       numErrors == 0 ? "ok" : "err", code, best_code_);++	return numErrors;+}++/* not used! */+int CodedPPM::BitError(double Pr)+{+	double Pe;			// probability of error+	double x;+	int nbit = 0;			// number of bit errors tolerated++	if(nbit == 0) {+		Pe = 0; //ProbBitError(Pr);+	}+	else {+		Pe = 0; //ProbBitError(Pr, nbit);+	}++	// quick check+	if(Pe == 0.0)+		return 0;		// no bit errors++	// scale the error probabilty+	Pe *= 1e3;++	x = (double)(((int)Random::uniform()) % 1000);++	if(x < Pe)+		return 1;		// bit error+	else+		return 0;		// no bit errors+}diff -Naur --ignore-matching-lines='Version Date' --ignore-matching-lines=cvsroot --ignore-matching-lines=CVSROOT /home/rmerz/NS/ns-allinone-2.26/ns-2.26/mobile/mod_codedppm.h mobile/mod_codedppm.h--- /home/rmerz/NS/ns-allinone-2.26/ns-2.26/mobile/mod_codedppm.h	1970-01-01 01:00:00.000000000 +0100+++ mobile/mod_codedppm.h	2004-02-17 12:09:42.000000000 +0100@@ -0,0 +1,43 @@+/* -*-	Mode:C++; c-basic-offset:8; tab-width:8; indent-tabs-mode:t -*- */++#ifndef __mod_codedppm_h__+#define __mod_codedppm_h__++#include "packet.h"+#include "modulation.h"+#include <assert.h>++#define MODULATION_NUM_CODES 30+#define PPM_CONVERSION_COEFFICIENT (1.0/2.8)++class CodedPPM : public Modulation {++public:+	virtual int BitError(double Pr);+	virtual int BitError(double receivedPower, double interferencePower, double noisePower, Packet* p) {+		return BitError(receivedPower, interferencePower, noisePower, p, 0);+	}+	virtual int BitError(double receivedPower, double interferencePower, double noisePower, Packet* p, double erasure);+	inline int bestCode() { return best_code_; }+	inline double CACDMApower() { return cacdma_power_; }+	inline double ppm_erasure(int code) { +		assert((code >= 0) && (code < MODULATION_NUM_CODES));+		return PPM_CONVERSION_COEFFICIENT * PPM_erasure_table[code];+	}+	inline double ppm_rate(int code) { +		assert((code >= 0) && (code < MODULATION_NUM_CODES));+		return PPM_rate_table[code];+	}++protected:+	int calcBestCode(int code, double SNR, double x, int pktsize);+	double SNRtoBER(double SNR, int code);++	int best_code_;+	double cacdma_power_;+	static double PPM_rate_table[];+	static double PPM_erasure_table[];+};++#endif /* __mod_codedppm_h__ */+diff -Naur --ignore-matching-lines='Version Date' --ignore-matching-lines=cvsroot --ignore-matching-lines=CVSROOT /home/rmerz/NS/ns-allinone-2.26/ns-2.26/mobile/modulation.cc mobile/modulation.cc--- /home/rmerz/NS/ns-allinone-2.26/ns-2.26/mobile/modulation.cc	2003-02-26 23:08:59.000000000 +0100+++ mobile/modulation.cc	2004-01-30 16:22:59.000000000 +0100@@ -36,8 +36,45 @@ #include <math.h> #include <stdlib.h> #include <random.h>-//#include <debug.h>-#include <modulation.h>+//#include <rng.h>+#include "modulation.h"+#include "packet.h"+#include "mac.h"+#include "mac-802_11.h"++// static class ModulationClass: public TclClass {+// public:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品免费视频.| 日本91福利区| 日韩中文字幕1| 国产精品77777| 欧美日韩一区二区三区四区| 精品国产亚洲一区二区三区在线观看| 亚洲色图.com| 国产精品自拍三区| 制服丝袜中文字幕一区| 亚洲日本乱码在线观看| 国产精品99久久久久久似苏梦涵| 欧美男同性恋视频网站| 自拍偷自拍亚洲精品播放| 黑人巨大精品欧美一区| 欧美高清视频一二三区| 亚洲综合男人的天堂| 成人精品一区二区三区四区| 精品少妇一区二区三区日产乱码| 亚洲国产综合色| 91视视频在线直接观看在线看网页在线看 | 日韩激情在线观看| 在线观看欧美黄色| 亚洲乱码国产乱码精品精小说| 国产风韵犹存在线视精品| 欧美一区二区在线视频| 日本在线不卡一区| 欧美日韩你懂的| 亚洲综合久久av| 色94色欧美sute亚洲线路一ni| 国产精品每日更新| 成人av电影免费在线播放| 国产精品国模大尺度视频| 成人av影视在线观看| 国产精品色一区二区三区| 国产河南妇女毛片精品久久久 | 免费欧美在线视频| 67194成人在线观看| 日韩综合小视频| 日韩精品一区二区三区四区| 激情综合色丁香一区二区| 日韩欧美综合在线| 九九在线精品视频| 国产欧美一区视频| 成人aaaa免费全部观看| 国产精品不卡一区| 色欧美日韩亚洲| 天天综合日日夜夜精品| 欧美久久免费观看| 男人的天堂亚洲一区| 欧美xingq一区二区| 国产高清视频一区| 亚洲欧美综合另类在线卡通| 91久久精品午夜一区二区| 天堂成人国产精品一区| 久久综合色天天久久综合图片| 福利一区福利二区| 亚洲一区二区三区小说| 欧美一区二区观看视频| 成人美女在线视频| 亚洲国产精品嫩草影院| 久久综合国产精品| 99久久精品国产精品久久| 石原莉奈在线亚洲二区| 国产欧美精品区一区二区三区 | 国产成人综合精品三级| 亚洲欧美电影一区二区| 欧美喷水一区二区| 国产传媒日韩欧美成人| 一区二区三区四区亚洲| 亚洲精品一区二区在线观看| 91免费在线播放| 麻豆国产精品一区二区三区| 亚洲欧洲日韩在线| 日韩天堂在线观看| 91色乱码一区二区三区| 麻豆成人91精品二区三区| 日韩毛片视频在线看| 91精品国产综合久久婷婷香蕉| 岛国精品在线播放| 美腿丝袜亚洲三区| 亚洲伊人色欲综合网| 欧美国产成人在线| 日韩女优毛片在线| 欧美日韩综合一区| 成人高清av在线| 久久国产精品99精品国产| 亚洲妇熟xx妇色黄| 最好看的中文字幕久久| 国产亚洲精久久久久久| 欧美一区二区精品在线| 欧美日韩亚洲综合| 99精品国产热久久91蜜凸| 国产夫妻精品视频| 久久99国内精品| 日本不卡一区二区三区高清视频| 亚洲三级小视频| 国产精品无人区| 久久一夜天堂av一区二区三区| 欧美色中文字幕| 欧美中文字幕亚洲一区二区va在线| 成人亚洲一区二区一| 国产在线视频一区二区| 久久综合综合久久综合| 天天综合网天天综合色| 午夜欧美2019年伦理| 洋洋成人永久网站入口| 亚洲精品日韩专区silk| 中文字幕中文乱码欧美一区二区| 国产亚洲女人久久久久毛片| 精品精品国产高清a毛片牛牛| 91超碰这里只有精品国产| 欧美色综合影院| 欧美日韩国产小视频在线观看| 色综合久久66| 欧美亚洲一区二区在线观看| 色噜噜狠狠成人网p站| 91理论电影在线观看| 一本色道综合亚洲| 色综合中文字幕国产| 色一情一乱一乱一91av| 91麻豆国产自产在线观看| 99re这里只有精品首页| 91视频在线观看| 在线免费观看日本一区| 欧美性色黄大片| 欧美久久一二三四区| 日韩区在线观看| 久久久久88色偷偷免费| 国产精品天美传媒| 亚洲精品国产第一综合99久久| 亚洲精品免费一二三区| 午夜精品成人在线| 麻豆成人久久精品二区三区红| 国产乱色国产精品免费视频| 国产精品18久久久久久vr | 日本成人在线不卡视频| 美女视频黄免费的久久| 国产成人亚洲精品青草天美| av电影在线观看一区| 在线一区二区观看| 日韩一区二区三区观看| 国产区在线观看成人精品 | 欧美激情一区二区在线| 亚洲欧美一区二区三区孕妇| 亚洲成人先锋电影| 国产曰批免费观看久久久| 99国产精品国产精品毛片| 欧美日韩国产成人在线91| 精品人在线二区三区| 亚洲视频电影在线| 美女精品一区二区| k8久久久一区二区三区 | 91麻豆免费观看| 欧美精品色综合| 日本一区二区在线不卡| 亚洲国产精品久久一线不卡| 国产精品综合在线视频| 欧美三级视频在线观看| 久久久久99精品一区| 性欧美大战久久久久久久久| 国产精品2024| 欧美日本在线一区| 国产精品美女久久久久久久久| 日韩中文字幕区一区有砖一区| 成人中文字幕合集| 日韩欧美国产三级电影视频| 亚洲精品免费电影| 国产美女娇喘av呻吟久久| 欧美日韩一级片在线观看| 国产精品亲子乱子伦xxxx裸| 日韩精品乱码av一区二区| 99免费精品在线| 久久午夜电影网| 日韩成人午夜精品| 91黄视频在线观看| 国产精品网站在线| 精品一区二区在线看| 欧美日韩国产成人在线免费| 亚洲欧洲一区二区三区| 国产成人免费视频 | 欧美色爱综合网| 最好看的中文字幕久久| 国产成人精品一区二区三区四区 | 国产亚洲污的网站| 理论电影国产精品| 制服丝袜亚洲精品中文字幕| 亚洲狼人国产精品| 91免费视频大全| 中文字幕一区免费在线观看| 久久99久久精品欧美| 欧美一区二区在线看| 亚洲午夜一区二区| 欧美综合在线视频| 亚洲欧洲日产国产综合网| thepron国产精品| 综合久久久久久久| 成熟亚洲日本毛茸茸凸凹| 国产女人18水真多18精品一级做 | 免费在线观看日韩欧美| 91精品国产综合久久久蜜臀粉嫩|