802.11帧格式解析
2012-02-13 0个评论
收藏我要投稿
1 MAC802.11数据帧格式
首先要说明的是mac802.11的帧格式很特别,它与TCP/IP这一类协议不同,它的长度是可变的。不同功能的数据帧长度会不一样。这一特性说明mac802.11数据帧显得更加灵活,然而,也会更加复杂。mac 802.11的数据帧长度不定主要是由于以下几点决定的
1.1 mac地址数目不定,根据帧类型不同,mac 80
2.11的mac地址数会不一样。比如说 ACK帧仅有一个mac地址,而数据帧有3个mac地址,在WDS模式(下面要提到)下,帧头竟然有4个mac地址。
1.2 80
2.11的管理帧所携带的信息长度不定,在管理帧中,不仅仅只有一些类似于mac地址,分片标志之类的这些信息,而且另外还会包括一些其它的信息,这些信息有关于安全设置的,有关于物理通信的,比如说我们的SSID名称就是通过管理帧获得的。AP会根据不同的情况发送包含有不同信息的管理帧。管理帧的细节问题我们会在后面的文章中讨论,这里暂时跳过。
1.3 加密(wep,wpa等)信息,QOS(quality of service)信息,若有加密的数据帧格式和没有加密的数据帧格式还不一样,加密数据帧格式还多了个加密头,用于解密用。然则QOS也是同样道理。
竟然mac 802.11数据帧那么复杂,我们就先从通用的格式开始说吧
帧控制(2 bytes):
用于指示数据帧的类型,是否分片等等信息,说白了,这个字段就是记录了mac 802.11的属性。
*Protocol version:表明版本类型,现在所有帧里面这个字段都是0x00
*Type:指明数据帧类型,是管理帧,数据帧还是控制帧
*Subtype:指明数据帧的子类型,因为就算是控制帧,控制帧还分RTS帧,CTS 帧,ACK帧等等,通过这个域判断出该数据帧的具体类型
*To DS/From DS:这两个数据帧表明数据包的发送方向,分四种可能情况讨论**若数据包To DS为0,From DS为0,表明该数据包在网络主机间传输
**若数据包To DS为0,From DS为1,表明该数据帧来自AP
**若数据包To DS为1,From DS为0,表明该数据帧发送往AP
**若数据包To DS为1,From DS为1,表明该数据帧是从AP发送自AP的,也就是说这个是个WDS(Wireless Distribution System)数据帧,至于什么是WDS,可以参考下这里的介绍 #传送门
*Moreflag:分片标志,若数据帧被分片了,那么这个标志为1,否则为0
*Retry:表明是否是重发的帧,若是为1,不是为0
*PowerManage:当网络主机处于省电模式时,该标志为1,否则为0.
*Moredata:当AP缓存了处于省电模式下的网络主机的数据包时,AP给该省电模式下的网络主机的数据帧中该位为1,否则为0
*Wep:加密标志,若为1表示数据内容加密,否则为0
*Order 这个表示用于PCF模式下,这里不予讨论
生存周期/Associate ID (2 bytes):
先前不是讲过虚拟载波监听的一个机制么,他的Network Allocation Vector (NAV)就存在这里,这里叫duration,即生存周期。当然不是所有时候这个字段存放的NAV值。在特定类型数据帧中,它也可能表示Associate ID。一旦有主机关联到AP了,AP都会为主机分配一个Associate ID。比如在网络主机通知AP自己要进入省电模式(power saving)的时候,网络主机发给AP的通知数据帧里面,这个域就表示的是Associate ID而不是NAV了。当然还可以通过最高位来判断这个域的含义:
*在15bit为0的时候,该域表示duration
*在15bit为1,14bit为1的时候,表示Associate ID。
序列控制(2 bytes:4 bits/12 bits):这个域分2部分,一个是分片序列号和标识帧列号。分片序列号就是记录分片序号的。比如一个帧A被分片成a1,a2,a3,那么a1,a2,a3这三个分片帧的分片序列分别是0,1,2。这个和IP分段原理一样的,该域占4个比特位。剩下的12个比特位就用于标识帧的序号,这个跟IP 头里面的序列号一样。
MAC地址 1-4
这四个地址在不同帧中有不同含义。这些以后会讨论。
以后我们可能会碰到以下类型的mac地址
RA(receiver address):无线网络中,该数据帧的接收者
TA(transmitter address):无线网络中,该数据帧的发送者
BSSID(Basic Service Set ID):在infrastructure BBS中,BSSID就是AP
的mac地址。但是在IBBS中,它是一个随机即生成的46位二进制序列,还有最高两位分别是Universal/Local标志位和Individual/Group标志位。IBBS的BSSID
中,Universal/Local标志位为1,表示本地MAC,Individual/Group标志位为0,表示是个人MAC。也就是说在IBBS中,BSSID地址应该类如
10xxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx(x表示随机数要么0要么1, 2进制表示)
DA(destine address):该帧的目的mac地址
SA(source address):该帧的源mac地址
这里的DA和SA含义和普通以太网中的含义一样,在无线网络中可能我们需要通过AP把数据发送到其它网络内的某台主机中。但是有的人会奇怪,直接在RA中填这台主机的mac地址不就久好了么。但是请注意RA的含义,说的是无线网络中的接收者,不是网络中的接收者,也就是说这台目的主机不再无线网络范围内。在这种情况下我们的RA只是一个中转,所以需要多出一个DA字段来指明该帧的最终目的地,当然,如果有了DA那必须有SA,因为若目的主机要回应的话,SA字段是必不可少的。(假设没有SA字段,那么目的主机回应的数据包就只能发送到源主机所属的AP上了~)
最典型的一个例子就是在WDS模式下,数据帧会有4个地址,RA,TA表示接收端和发送端,这两个地址用于无线传输的时候。还有2个地址是DA和SA,分别跟以太网中一样表示源地址和目的地址。WDS帧的格式如下图:
打个比方说,AP1有主机A,AP2有主机B。如果A要和B同学,那么A会首先发送数据帧给AP1,然后AP1发送帧给AP2 。这个
时候帧里面会有4个地址,分别是RA=mac(AP2),TA=mac(AP1),DA=mac(B),SA=mac(A)。
WiFi协议物理层包结构(一)
(2011-05-18 09:07:13)
转载▼
标签:
杂谈
看了几篇文档,WiFi协议其实只是OSI7层协议的物理层协议和数据链路层的一部分.在对硬件进行测试时,其实我们测试的大部分只是物理层的性能.整天工作凌乱复杂,总是没有足
够的时间去将协议的文档仔细的研读归类,在写这篇博客的时候其实还是处于混沌状态,只能把看到的东西暂时罗列在这里,看得多了也就自然会清晰起来.
在物理层的空中接口中,数据信息势必以某种格式进行传输.这种传输经常是一帧一帧的
进行,每一帧都会按照一定的规矩,顺序进行排列,也就是帧结构,或者包结构.
无线局域网物理层有三部分组成:
.物理管理层(Physical Layer Managerment):为物理层提供管理功能,它与MAC层管理连接.
.物理成汇聚子层(PLCP):MAC层和PLCP通过物理层服务访问点(SAP)利用原语进行通讯.MAC层发出指示后,PLCP就开始准备需要传输的介质协议数据单元(MPDUs).PLCP 也从
无线介质想MAC层传递引人帧.PLCP为MPDU附加字段,字段中包含物理层发生和接收所需的信息,802.11保准称这个合成帧为PLCP写数据单元(PPDU).PLCP将MAC协议数据单元映射成适合被PMD传送的格式,从而降低MAC层对PMD层的依赖程度.PPDU的帧结构提供了种种站之间MPDU的异步传输,因此,接收工作站的物理层必须同步每个单独的将道路的帧.
.物理介质依赖(PMD)子层:在PLCP下方,PMD支持两个工作站之间通过无线介质实现物理层实体的放送和接收.为了实现以上功能,PMD需直接面向无线介质(大气空间),并对数据进行调整和解调.PLCP和PMD之间通过原语通信,控制发送和接收功能.
*长PLCP Preamble包结构:
Preamble这个词在我刚刚开始接触通信技术的时候好长一段时间都没有理解,后来才知道Preamble(译为"前导码"),前导码就是通信之前用于握手,同步,开始等目的的一串码字.在这种包结构中,前导码位数比较多,因此称为长前导码.
我们先看一下下面的长PLCP前导码包结构.
这个长PLCP前导码的格式是否在802.11a,802.11g以及802.11n中使用,目前我还不清楚,但至少应该是在802.11 1999和802.11b中使用的.
SYNC是128bits的码,应该是一种特殊指定的码,例如128个"1".
SFD:开始单元
PLCP:物理层汇聚协议
PSDU:PLCP服务数据单元
PPDU:PLCP协议数据单元
从上面的图中我们可以看到,(PLCP Preamble)144 bits+(PLCP Header)48bits=192bits,也就是说192bits的传输时间是192uS,计算一下,Preamble和Header的传输速度应该是1Mbits/S.
而对于PSDU来说,其传输速度更加不同的调制方式,其传输速度分别是1M,2M,5.5M或者11M.
WiFi协议物理层包结构(二)
(2011-05-18 13:40:04)
转载▼
标签:
it
对于802.11 99和802.11b来说,除了长PLCP前导码包格式外,还有一种短PLCP前导码包格式,其情况如下图:
从图中,我们可以看到短PLCP前导码的床上速度是1MBits/S,而短PLCPHeader在2Bits/S 时传输24Bits,即96uS可以传输96bits.对于PSDU的传输速度与长PLCP前导码得情况是相同.
为了保证802.11a,802.11g与802.11b的兼容,在传输格式中,使用了与802.11b相同的PLCP 前导码和PLCP头.只是在PSDU的传输中采用了不同的方式.因为802.11a,802.11g采用了OFDM正交频分复用技术代替802.11b中的直接序列扩频技术使得PSDU的传输速率最高能达到54Mbits/S.
图太小,有点模糊.不过,我们只是讲道理,不追究细节.我的工作是做测试开发,所以更多的是考虑如何去测试它物理层的射频性能.
WIFI基本知识整理
这里对wifi的802.11协议中比较常见的知识做一个基本的总结和整理,便于后续的学习。因为无线网络中涉及术语很多,并且许多协议都是用英文描述,所以有些地方翻译出来会有歧义,这种情况就直接英文来描述了。
主要内容:
一、基本概述
二、实践基础
三、一些原理
四、补充
五、其它
一、基本概述
============================
1、有线和无线网络
目前有线网络中最著名的是以太网(Ethenet),但是无线网络WLAN是一个很有前景的发展领域,虽然可能不会完全取代以太网,但是它正拥有越来越多的用户,无线网络中最有前景的是Wifi。本文介绍无线网络相关内容。
无线网络相比有线网络,还是有许多的缺点的:
(*)通信双方因为是通过无线进行通信,所以通信之前需要建立连接;而有线网络就直接用线缆连接,不用这个过程了。
(*)通信双方通信方式是半双工的通信方式;而有线网络可以是全双工。
(*)通信时在网络层以下出错的概率非常高,所以帧的重传概率很大,需要在网络层之下的协议添加重传的机制(不能只依赖上面TCP/IP的延时等待重传等开销来保证);而有线网络出错概率非常小,无需在网络层有如此复杂的机制。
(*)数据是在无线环境下进行的,所以抓包非常容易,存在安全隐患。
(*)因为收发无线信号,所以功耗较大,对电池来说是一个考验。
(*)相对有线网络吞吐量低,这一点正在逐步改善,802.11n协议可
以达到600Mbps的吞吐量。
2、协议
Ethenet和Wifi采用的协议都属于IEEE 802协议集。其中,Ethenet 以802.3协议做为其网络层以下的协议;而Wifi以802.11做为其网络层以下的协议。无论是有线网络,还是无线网络,其网络层以上的部分,基本一样。
这里主要关注的是Wifi网络中相关的内容。Wifi的802.11协议包含许多子部分。其中按照时间顺序发展,主要有:
(1)802.11a,1999年9月制定,工作在5gHZ的频率范围(频段宽度325MHZ),最大传输速率54mbps,但当时不是很流行,所以使用的不多。
(2)802.11b,1999年9月制定,时间比802.11a稍晚,工作在2.4g 的频率范围(频段宽度83.5MHZ),最大传输速率11mbps。
(3)802.11g,2003年6月制定,工作在2.4gHZ频率范围(频段宽度83.5MHZ),最大传输速率54mbps。
(4)802.11n,2009年才被IEEE批准,在2.4gHZ和5gHZ均可工作,最大的传输速率为600mbps。
这些协议均为无线网络的通信所需的基本协议,最新发展的,一般要比最初的有所改善。
另外值得注意的是,802.11n在MAC层上进行了一些重要的改进,所以导致网络性能有了很大的提升例如:
(*)因为传输速率在很大的程度上取决于Channel(信道)的ChannelWidth有多宽,而802.11n中采用了一种技术,可以在传输数据的时候将两个信道合并为一个,再进行传输,极大地提高了传输速率(这又称HT-40,high through)。
(*)802.11n的MIMO(多输入输出)特性,使得两对天线可以在同时同Channel上传输数据,而两者却能够不相互干扰(采用了OFDM特殊的调制技术)
3、术语
讲述之前,我们需要对无线网络中一些常用的术语有所了解。这里先列出一些,后面描述中出现的新的术语,将会在描述中解释。
(*)LAN:即局域网,是路由和主机组成的内部局域网,一般为有线网络。
(*)WAN:即广域网,是外部一个更大的局域网。
(*)WLAN(Wireless LAN,即无线局域网):前面我们说过LAN是局域网,其实大多数指的是有线网络中的局域网,无线网络中的局域网,一般用WLAN。
(*)AP(Access point的简称,即访问点,接入点):是一个无线网络中的特殊节点,通过这个节点,无线网络中的其它类型节点可以和无线网络外部以及内部进行通信。这里,AP和无线路由都在一台设备上(即Cisco E3000)。
(*)Station(工作站):表示连接到无线网络中的设备,这些设备通过AP,可以和内部其它设备或者无线网络外部通信。
(*)Assosiate:连接。如果一个Station想要加入到无线网络中,需要和这个无线网络中的AP关联(即Assosiate)。
(*)SSID:用来标识一个无线网络,后面会详细介绍,我们这里只需了解,每个无线网络都有它自己的SSID。
(*)BSSID:用来标识一个BSS,其格式和MAC地址一样,是48位的
地址格式。一般来说,它就是所处的无线接入点的MAC地址。某种程度来说,它的作用和SSID类似,但是SSID是网络的名字,是给人看的,BSSID是给机器看的,BSSID类似MAC地址。
(*)BSS(Basic Service Set):由一组相互通信的工作站组成,是802.11无线网络的基本组件。主要有两种类型的IBSS和基础结构型网络。IBSS 又叫ADHOC,组网是临时的,通信方式为Station<->Station,这里不关注这种组网方式;我们关注的基础结构形网络,其通信方式是Station<->AP<->Station,也就是所有无线网络中的设备要想通信,都得经过AP。在无线网络的基础形网
络中,最重要的两类设备:AP和Station。
(*)DS(Distributed System):即分布式系统。分布式系统属于802.11逻辑组件,负责将帧转发至目的地址,802.11并未规定其技术细节,大多数商
业产品以桥接引擎合分步式系统媒介共同构成分布式系统。分步式系统是接入点之间转发帧的骨干网络,一般是以太网。其实,骨干网络并不是分步系统的全部,而是其媒介。主要有三点:骨干网(例如以太网)、桥接器(具有有线无线两个网络接口的接入点包含它)、属于骨干网上的接入点所管辖的基础性网络的station通信(和外界或者BSS内部的station)必须经过DS、而外部路由只知道station的mac地址,所以也需要通过分布式系统才能知道station的具体位置并且正确送到。分步式系统中的接入点之间必须相互传递与之关联的工作站的信息,这样整个分步式系统才能知道哪个station和哪个ap关联,保证分步式系统正常工作(即转达给正确的station)。分步式系统也可以是使用无线媒介(WDS),不一定一定是以太网。总之,分步式系统骨干网络(例如以太网)做为媒介,连接各个接入点,每个接入点与其内的station可构成BSS,各个接入点中的桥接控制器有到达骨干网络和其内部BSS无线网的接口(类似两个MAC地址),station通信需要通过分布式系统。
二、实践基础
============================
1、一些参数
(*)MAC
MAC(即Medium/MediaAccess Control, 介质访问控制),是数据链路层的一部分。MAC地址是烧录在NetworkInterfaceCard(即网卡,简称NIC)里的,它也叫硬件地址,是由48位(即bit,一字节为8位,即1byte=8bits)16进制的数字组成。其中0-23位叫做组织唯一标志符(organizationally unique,简称OUI),是识别LAN(局域网)节点的标识(在有些抓包工具抓包的时候会将前三个字节映射成某种组织名称的字符,也可以选择不显示这种映射)。24-47位是由厂家自己分配。
(*)SSID
表示一个子网的名字,无线路由通过这个名字可以为其它设备标识这个无线路由的子网。设备进行扫描的时候,就会将相应SSID扫描到,然后就能够选择相应的SSID连接到相应的无线网络(当然不扫描,理论上也可以直接指定自己事先已经知道的ssid进行连接)。SSID可以和其它的重复,这样扫描的时候会看到两个同样SSID的无线网络,其实这一般用于将一个无线网络扩大的情况(毕竟无线路由器无线信号的覆盖范围是有线的):当想要扩大一个无线网络(即SSID固定)的范围的时候,可以给多个路由设置相同的SSID来达到这个目的。(这也是漫游的原理,漫游的时候,我们可以在远方或者本地都能够打电话,也就是访问移动通信网络)。
SSID和BSSID不一定一一对应,一个BSSID在不同的Channel上面可能会对应到多个SSID,但是它们在一个Channel是一一对应的;另外,漫游的时候,虽然SSID不变,但是BSSID一定是会变化的。我们经常可以看到实际数据包中的AP的MAC地址和BSSID只差几位,其实实际设备的MAC地址可能只有一个,和BSSID没什么对应关系。在一个包含了路由功能和AP功能的无线路由器(Fat AP)上面,很可能是:路由器有两个MAC地址,一个用于外网(WAN),一个用于内网(WLAN和LAN),一般路由器上面或者配置路由器的网页上面只标注外网的MAC地址;内网的MAC地址和外网MAC地址一般只有几位不同(甚至连续,也有些相差很多的例外)。
(*)Band(频率范围)
一般ap可以支持5g或2.4g两个频率范围段的无线信号。如果两者同时可以设置,而不是互斥那么,这个路由器还能够同时支持两种频段(频段即
Band),这相当于这个ap可建立两个无线网络,它们采用不同的频段(这类似收音机在长波范围内收音和短波范围内收音)。
(*)Channel(信道)
Channel是对频段的进一步划分(将5G或者2.4G的频段范围再划分为几个小的频段,每个频段称作一个Channel),有”5.18GHZ“,“Auto(DFS)”等等,处于不同传输信道上面的数据,如果信道覆盖范围没有重叠,那么不会相互干扰。对于信道的使用,在国际上有所规定。其中有些信道是无需授权即可直接使用的(究竟是那个频段的那个信道,依照各个国家而不同),无需授权使用的意思是,传输数据的时候(无论以哪种无线方式),可以让设备收发的功率导致传输时的数据进入该信道的频率并在该信道所在频段宽度内进行传输;授权的使用的意思是,不允许传输时使用授权信道进行,否则会违反规定,并且干扰该信道上其他数据的传输。另外,除了wifi,微波、红外线、蓝牙(使用802.15协议)的工作频段也都有在2.4gHZ范围内的,所以,它们传输的时候会对wifi 传输造成干扰,因为两者在不同的协议下进行通信,所以互相将对方传输的信号识别为噪声。有时候配置AP的时候,Channel中有一个类似“Auto”的选项值,这表示打开AP的时候,AP自己Scan周围的环境,选择一个干扰最小的Channel 来进行通信,当选择好了一个Channel的时候,一般就不会改变了。
(*)Channel Width(信道宽度)
这里的Channel Width是信道的带宽,有”20M HZ“、”40M HZ“等,它表示一个Channel片段的宽度(假设5g的频段宽度总共为100M,平均划分为互不干扰的10个Channel,那么每个Channel的Channel Width就为100M/10=10M,实际Channel并不一定是完全不重叠的)。这个参数可能依赖于一些其它的选项,例如不是802.11N的协议,就可能不会有40M HZ的Channel Width(N模式有一个特点就是可以把两个Channel合并,通过提高ChannelWidth来提高吞吐量)。例如选择了"20M HZ"这个Channel Width之后,后面再选择一个“5.18GHZ”的Channel,则表示以5.18GHZ为中心的前"10M HZ"以及其后面的"10M HZ"频带范围被占用。
至此可知,配置无线AP的时候,如果屋子里面有很多的AP(也就是无
线路由接入点)的话,仔细设置它们的Channel Width和Channel可以保证它们相互之间的干扰(类似收音机里面的串台)尽可能小。当然,如果相互干扰了,那么Net Mode所指定的协议也会有相应的处理方式让他们之间进行协调(例如让谁先通信谁等一会再通信之类的),但是这样网络的性能就不如没有干扰的时候好了。
(*)Wireless Security(无线网络的安全性)
这里主要涉及WEP、WPA、WPA2和RC4、TKIP、AES。
IEEE 802.11 所制定的是技术性标准 ,Wi-Fi 联盟所制定的是商业化标准 , 而 Wi-Fi 所制定的商业化标准基本上也都符合 IEEE 所制定的技术性标准。WEP 是1999年9月通过的 IEEE 802.11 标准的一部分;WPA(Wi-Fi Protected Access) 事实上就是由 Wi-Fi 联盟所制定的安全性标准 , 这个商业化标准存在的目的就是为了要支持 IEEE 802.11i 这个以技术为导向的安全性标准;而 WPA2 其实就是 WPA 的第二个版本。直观点说,WEP是较老的认证方法它有好几个弱点,因此在2003年被WPA淘汰,WPA又在2004年由完整的 IEEE 802.11i 标准(又称为 WPA2)所取代。
WEP(Wired Equivalent Privacy),采用名为RC4的RSA加密技术;WPA(Wi-Fi Protected Access) ,采用新的TKIP算法,TKIP算法保留了RC4所以也有其弱点,但是这个时候更好的CCMP还没完成,所以先在WPA上用TKIP
技术;WPA2是WPA的第2个版本,采用CCMP加密协定(在有些路由器等设备上设定加密协定或者加密算法的时候,可能会用类似AES之类的字眼替代CCMP)。所以WPA2+AES是安全性最强的。
另外,在有些无线网路设备的参数中会看到像 WPA-Enterprise / WPA2-Enterprise 以及 WPA-Personal / WPA2-Personal 的字眼 , 其实
WPA-Enterprise / WPA2-Enterprise 就是 WPA / WPA2 ; WPA-Personal / WPA2-Personal 其实就是 WPA-PSK / WPA2-PSK, 也就是以”pre-share key”或” passphrase”的验证 (authentication) 模式来代替 IEEE 802.1X/EAP 的验证模式 ,PSK 模式下不须使用验证服务器 ( 例如 RADIUS Server), 所以特别适合家用或 SOHO 的使用者。
还有,wep是旧的加密方式,工作于802.11B/G模式下而802.11N草案并不支持此加密方式,所以如果802.11N的设备采用wep加密方式后,它也只会工作在802.11b/g模式下,N的性能发挥不出来。
实际中,在有些路由器上面,设置的时候,可能不是严格按照这个规定来设置的(例如设定了采用WPA方式,还可以选择AES),但是大体一样。
(*)Region(区域)
一般在无线网络中的AP上都有一个参数,表明它是处于哪个Region(地区)。Station根据AP中设置的Region调整其相应的发射功率以遵守该地区的规定。AP的调整过程一般都是手动设定,设置好AP所处的Region之后,这些信息就会在AP发送的Beacon帧(后面会说到)中包含了;通过这个AP连接到
无线网络上的Station,从Beacon帧中了解到这些Region信息,并且根据这些信息中的规定和AP进行通信。如果AP开始设置错了,那么Station和AP通信的时候,采用的将会是不符合Region规定的频段,可能会对该Region中的其它传输网络造成干扰,这应当是“非法”的。
(*)Transmission Rate
设置传输速率。这里采用不同的无线网络传输协议(802.11a,802.11b,802.11g等),那么可以设置的速率范围有所不同,这里的速度是指理论的速度,实际中,由于各种干扰因素,传输的速率可能会比设置的小。
一般而言,在无线网络中,对于某种协议的性能进行描述时,我们需要注意的是,描述时提到的传输速率(Datarate)和吞吐量( Throughput)是不同的。Datarate是理论上面最大数据传输速率,而Throughput是数据的实际最大吞吐量。因为厂家以及传输时所使用的协议等各种因素造成的开销,会导致实际吞吐量比理论吞吐量要小,一般实际最大吞吐为理论最大的50%左右(一个不太准确但是相对直观的估计:在网络中,高清视频所需的Throughput也就30mbps 左右,网络上一般的视频也就4mbps左右)。
(*)Qos(质量保证)
无线网络中的QOS是质量保证,大致的意思是,传输数据的时候,考虑各种因素(例如收费策略,所处地区等),以一定的优先级来保证传输的特定要求(一般就是速度),如果带宽足够的话,QOS反而不需要了。
(*)RTS Threshold / CTS Protection Mode:
这里的RTS是Request-To-Send的简写,CTS是Clear-To-Send的简写。设置好RTS的阈值之后,如果超过这个阈值就会在发送信息之前先发送RTS,以减少干扰,相应的CTS会回应之前的RTS。一般都是AP发送CTS数据,而Station 发送RTS数据。
这里对RTS和CTS做一个简单解释:假设在同一个AP所覆盖的无线网络范围内的两个Station A和B,它们之间可能会因为距离的原因互相不可见(例如它们在AP网络范围的两端,而这两端的距离大于两者的信号覆盖范围),但是AP却知道它们是在自己的范围内。当一个A想要在AP的网络中进行通信的时候,必定要经过AP转发它的信息,由于A不知道B的存在,所以如果同时B也通过AP进行网络通信,那么会出现AP同时收到A、B两个Station的通信请求,而这在无线网络中是不允许的(无线网络中,同一时刻不能有多个人传输数据)。在这种情况下,B和A互相干扰了对方的通信,但是却互相不可见(不可见的节
点互相被称作隐藏节点)。如果在一个网络中,这样的隐藏节点很多,那么势必会影响网络的性能(因为数据一旦发送失败,就要重传,隐藏节点会导致重传的机率增大)。这个时候,可采用RTS和CTS机制。即:在A想要通信的时候,先广播发送RTS给AP,告诉AP“它想要通信”,同时接受到RTS的别的Station (它们对发送RTS的Station而言可见)会知道A将要发送数据,于是它们不会发送数据以免干扰A;AP收到RTS之后,会广播发送CTS,告诉所有在AP范围内的Station(包括对A而言的隐藏节点B)”A将要通信(同时也相当于告诉A,A可以无干扰的发送信息了)”,这样对A而言的隐藏节点B也知道有一个A的存在并且要发送信息了,于是B就不会干扰A了。这里,A和B两者可以在不同的网络上,也就是说,不同网络的工作站之间也可以通过RTS/CTS来清除相互的干扰。
(*)Beacon Interval:
表示无线路由定期广播其SSID的时间间隔。这个一般不会特别设置,就采用默认值即可。如果不广播了,那么Station端扫描的时候可能会发现不定期广播的AP对应的SSID的网络不见了,所以可能会断开连接。这里定期广播,表示AP会定时向其范围内广播SSID的信息,以表示AP的存在,这样Station 进入一个区域之后,就能够通过扫描知道这个区域是否有AP的存在。当然,除了AP广播SSID以告知其无线网络存在之外,Station也可主动广播探寻包,在其能够覆盖的范围内询问是否有AP存在(即我们通常所说的扫描寻找接入点)。
(*)DTIM Interval:
DTIM/TIM表示告诉Station,AP在为Station做package buffer(例如Station睡眠的时候)的缓存时间。为了节省电池使用时间,处于无线网络中的Station可能会在一定时间之后自动进入休眠状态。这个时候,AP会为这个Station缓存发送给它的数据,而处于休眠状态的Station只会在一定时间间隔内给AP发送一个数据帧,以确认是否有发送给自己的数据存在。例如,当我们在主机上ping另外一台睡眠的机器的时候,收到另外一台机器响应的时间,要比它不睡眠的时候响应的时间长很多。
(*)Fragmentation Threshold:
表示一个package的分片阈值。我们可以设置分片大小,当发送的数据包超过这个阈值之后,802.11协议会自动对这个数据包进行分割。如果设置的这个分片值越小,那么整个数据包越容易传输成功(因为如果出错,那么只需要传送一个片段而不是整个包,无线wifi网络中数据传输时出错的概率比有线的
以太网要大的多的多),当然开销也越大(因为需要额外的信息标记每个分片,以及各个分片传输成功之后涉及到的重组问题)。
2、抓包
一般来说,我们的机器上面的软件抓取无线网卡上面的包的时候,其实这些包的目标地址都是这个机器的无线网卡,因为不是发给这个机器无线网卡的包都被网卡过滤了。所以如果我们想要抓取所处无线网络环境下所有的包的时候,需要给机器配备一种特殊的设备(sniffer就是嗅探器),然后再通过抓包工具抓取并分析。有一个硬件设备叫做AirPcap,就是做这个用的,大有几百到上千美金,它可以同时做为嗅探器或者无线网卡使用,不过做为嗅探器的时候,会抓取所有经过它的包。这个工具目前只有Windows上面的驱动,所以使用这个工具,只能在Windows上面,配合Wireshark抓包软件进行抓包。
这里假设采用AirPcap嗅探,Wireshark软件抓包(其它抓包软件,例如linux下面的tcpdump等分析类似)。不用图形方式详细展示具体的抓包过程以及分析方法了,主要说一下抓包(这里的包实际主要指的是网络层以下的包,更常见的称呼应该是数据帧)时候需要注意的问题。
(*)Wireshark展示包的时候,大致都是按照协议规定的字段展示,
也些地方按照它自己特定的方式展示。因为这里着重讲述一些抓包时注意的基本原理上面的东西,所以不会对此进行过多阐述。大致就是:Wireshark软件中,对包展示的时候,按照协议规定的字段分别用Header和Body两个部分展示;另外,在Header之前还有两个部分是Wireshark为方便用户而展示的包的大小、时间等全局信息(例如见过表示这个包在B和G mode中的Channel 1时,用"BG1"表示)。所以,其实我们分析的时候,实际应该按照后面的Header和Body两个部分进行。后面将基于以上所述,进行进一步的讲解。
(*)抓包的时候,需要首先确认这个包是否是完整、正确的包。只要是校验位(checksum)不对的,就是错误的包,也无法确定接收的时候那里出了差错,所以这个包是应该忽略的,几乎没有分析的价值。另外,抓包的时候,由于干扰等原因,抓取的内容可能不是在实际传输所处的Channel上的包(例如在Channel 1上面嗅探,却嗅探到了Channel 2上的包)。
(*)抓取授权阶段的包,需要注意实际的授权是在后面进行的。Authentication的时候,开始阶段实际是Open的(即无授权),也就是说,开始实际已经建立好了连接,所以我们在抓包的时候,开始看到的一般都是通过验证,但是在后面紧接着采用了类似802.11x等安全加强的协议,来进行再次鉴权认证,如果这里无法通过则立即将已经建立的Association断开。这样的机制,
是因为原来的802.11没有充分考虑安全才会这样的,这样也兼容了以前的802.11。
(*)抓取的包的数据,要注意这个包是否是被加过密的。根据协议标准的描述,包中如果有dataprotected字段,则表示这个数据本身是被加了密的,不知道这个数据具体是什么,当然,如果有密码,wireshark也有一个可以按照这个密码解密的工具,有时候不好用。这里所说的数据加密和网络的加密不一样,可能访问网络本身是需要密码(网络是security的),而数据本身没有crpted (加密)。对于一个加了密的数据包,我们一般看不出来这个包到底是做什么用的或者什么类型的等等。
(*)抓包的时候,要注意包中指示的源和目的地址以及包的序号。在无线网络中通信的时候,我们抓包的时候可能会看到被抓取的包对应AP的MAC 地址是不存在的,其实抓包时AP的MAC是BSSID,它和实际标注的MAC地址不一定一样(但是一般都差不多,也就是之后最后面的几位不一样)。有时候,我们看到抓取的包中的MAC地址有许多只相差几位,那么可能它们都属于一个设备(因为虽然设备可能只标注了一个网卡的MAC地址,但是它却“虚拟”出或者实际有多个MAC地址),所以当我们看到包中对应两个AP的MAC地址几乎一样的时候,一般来说,这两个MAC地址很可能就是一个设备的。还有在抓包的时候,一个地址上面的包的sequence(序号)是连续的,除非丢包了导致重复或者缺失。如果一个设备虚拟出来两个地址,那么也可能由于没有经过什么处理,导致这两个地址上面的包共同起来是连续的(如前所述,这两个地址和MAC很接近,应该是BSSID)。
(*)抓取的数据帧如果是广播帧则不需要确认(ACK),如果是单播帧,则一般需要确认(ACK)。例如,Probe帧是广播帧,所以它无对应的ACK确认帧,对Probe的回复则叫做Probe Response;注意ACK帧本身用于确认,是单播的,但是它本身却不需要再被确认了。从包中的目的MAC地址中,可以看出这个包是广播/多播帧还是单播帧。MAC第一个字节的第一个位是1,表示组播,前两位是1表示广播,第一个字节第一个位是0表示单播。这里注意,MAC不是值,而是一个Pattern,所以没有Endian之说,也没有那个位高,那个MAC大之说。例如:“a8:27:26:....:b7”,这里第一个字节就是a8(10101000),其第一个字节的第一位就是8的最“右”位,即“0”,所以它的第一个字节的第一个位是0,是一个单播地址。其实,这里涉及到大端小端问题,后面也会讲到,总之,以太网线路上按“Big Endian”字节序传送报文(也就是最高字节先传送),而比特序是”Little Endian”(也就是字节内最低位先传送)所以,一个十六进制表示法表示的MAC地址01-80-C2-00-00-00,传送时的bit顺序就是:1000 0000 0000 0001 0100 0011 0000 0000 0000 0000 0000 0000。
(*)使用Wire Shark在抓包或者显示包的时候,都可以设置过滤器(filter)。抓包时候设置的过滤器叫做capture filter,它是用BPF(berkerley package filter)这个比较通用的语言来描述(注意这不是Wireshark专用的filter语言,而是一个通用的语言)。但是抓包期间的过滤,有时候不准,所以我们一般先将所有的包抓取下来,然后用WireShark中显示的过滤器(即view filter)来显示我们关注的包,这里我们可以用macro来定义比较复杂的显示过滤条件。保存的时候,可以用按照显示过滤还是抓取过滤的方式保存内容。
(*)尽量不要抓取Channel Width为40MHZ的Channel上的帧。我们还需要注意的是,使用Sniffer抓取无线网络包的时候,AirPcap无法正常抓取40MHZ Channel Width的包,或者说对抓取这个Channel Width上面的包支持不好。如果非要抓取40MHZ Channel Width的包,那么就在40或者36号Channel 上面进行抓取,并在Wireshark上面设置“channel=36,offset+1”(平时offset 都是0),这样能够抓取 Channel Width为40MHZ的包(但是,其他Channel
上面的40mHZ的包还是无法抓取),这是由AirPcap内部的芯片固件的问题决定的(估计broad com芯片公司也不愿花过多的精力来支持这个很少有人用的抓包工具的这个功能)。
另外,假设一个无线工作站是基于Android系统的(例如智能手机或者平板电子书)那么我们可以利用“wpa_cli status”命令来可以查看当前设备的连接的SSID,BSSID,MAC,IP等信息,(这里“cli”=“command line interface”)。还有更“复杂”的命令“wc”和“wl”,其中wc是比较上层的命令,wl是下层的命令(是基于芯片是否支持的,例如wl在broadcom芯片上支持,但是在ti 上面就没有了)。
三、一些原理
============================
1、常见的帧
在802.11中的帧有三种类型:管理帧(Management Frame,例如Beacon 帧、Association帧)、控制帧(Control Frame,例如RTS帧、CTS帧、ACK帧)、数据帧(Data Frame,承载数据的载体,其中的DS字段用来标识方向很重要)。帧头部中的类型字段中会标识出该帧属于哪个字段。
(*)ACK帧
单播(unicast)帧都需要用ACK来确认,ACK本身不是广播帧,ACK在MAC上是unicast的,帧中有receive地址字段(用来标识是对谁的确认),但是它却不需要再确认了。ACK只有接收地址(receive)而无源地址(src)和序
号(sequence),因为发送和接受是一个整体,发送之后,其他人(除了这个发送的接受者)都不会再发送数据了(无线协议中的冲突避免机制),所以接受者会发送一个没有src的ack帧给receiver,而接收ACK的一端会根据这个知道
它收到了一个ACK帧(其实根据协议,应当把发送单播帧和收到它相应的ACK
看作一个原子的不可分割的整体,表示一次成功的通信)。
(*)Beacon帧
Beacon帧定时广播发送,主要用来通知网络AP的存在性。Station和AP建立Association的时候,也需要用到Beacon。Station可以通过Scan来扫描到Beacon,从而得知AP的存在,也可以在扫描的时候通过主动发送Probe来探寻AP是否存在。也就是说,建立Association的时候有主动的扫描或者被动的扫描两种方式。另外,Beacon还包含了关于Power Save、以及地区等信息。
(*)Association帧
通常Association帧都有Probe Request和相应的Probe Response。Association的Request中有其所需要的Channel以及Data Rate等状态,以便让AP决定是否让它与自己建立Association。而关联是否成功,主要是看Response中的Status code是否为Success。
(*)Data帧
Data Frame具有方向,这个方向用DS(分布式系统)字段来标识,以区分不同类型帧中关于地址的解析方式;其它的类型Frame例如Control Frame 或者管理帧中,这个字段是全零。这个字段用两位表示,这两个位的含义分别表示“To Ds”和“From Ds”,大致含义如下:
(a)To DS:表示Station->AP,一般也叫Upload。
(b)From DS表示AP->Station,一般也叫Download。
这里,我们可以大致将DS看做AP,To/From是从AP的角度来考虑的。To DS就是让AP干活。另外Data Frame中还有一个比较重要的字段就是Sequence,表示帧的序号。重传帧序号一样,但是多了一个Retry的字段表示该帧是重传的。
为了便于理解,这里再次详细解释一下DS字段的含义:
To DS=0,From DS=0:表示Station之间的AD Hoc类似的通信,或者控制侦、管理侦。
To DS=0,From DS=1:Station接收的侦。
To DS=1,From DS = 0:Station发送的侦。
To DS=1,From DS = 1:无线桥接器上的数据侦。
关于Cass图形转入MapGis系统的使用帮助 使用本软件转换与Mapgis直接转dxf有什么区别: 本软件转换结果符合MapGis制图规范,可以按照Cass代码和使用者的设定自动完成分点、线、注记分文件转换。 ①同样是折线软件可以根据Cass代码的不通转换出多个Mapgis的wl文件,比如地类界、行政界、线状地物。 ②保留cad的捕捉关系。 ③对每个Mapgis文件赋属性字段和属性数据以及添加默认的属性数据。 注:“数据转换平台”系统安装完成后,如果MapGis的安装目录不是“C:\mapgis65\program”,需要将“C:\mapgis65\program\明码转文件.exe”复制到MapGis安装目录的对应目录中。 转换步骤: 1. 按照Cass上图规定,完成Cass图的绘制。使用Cass6.1“-数据-生成交换文件-”菜单下的“生成交换文件”,保存交换文件。不要保存在桌面上,最好保存在一个单独文件夹内,在转换过程中会产生大量临时文件,以免影响使用。 Cass图必须使用正确的坐标系统。 2. 图形导出为dxf格式(因为cas文件坐标精度不够,需要使用dxf文件的坐标,也可仅将文件中的“多线段”和“直线”做块为dxf格式即可)。 3. 打开“数据处理平台”,使用“-南方Cass6.1-Cass to Mdb-”菜单,选择第1步生成的交换文件后,再选择转入*.Mdb按钮。
提示完成后,在*.Cas文件夹里边,生成同名的*.Mdb文件。4. 使用“-MapGis6.5-二调Cass图转MapGis-”菜单,选择第2步生成的*.Mdb文件,然后再点“转出为MapGis明码文件”。 转换过程中会提示进行Cass编码检查,将编码检查后的错误编码进行更正,也可忽略错误进行进行。错误的编码需要在南方Cass中进行返工。 5. 打开桌面的“明码转文件”,选择*.Cas文件存放目录,然后选择处理。 程序自动处理,直到完成。 6.在*.Cas文件夹内就生成了MapGis的*.wl、*.wt文件。 以上实现了南方Cass *.Cas文件到MapGis *.wl *.wt文件的转
BMP格式图像文件详析 首先请注意所有的数值在存储上都是按“高位放高位、低位放低位的原则”,如12345678h放在存储器中就是7856 3412)。下图是导出来的开机动画的第一张图加上文件头后的16进制数据,以此为例进行分析。T408中的图像有点怪,图像是在电脑上看是垂直翻转的。在分析中为了简化叙述,以一个字(两个字节为单位,如424D就是一个字)为序号单位进行,“h”表示是16进制数。 424D 4690 0000 0000 0000 4600 0000 2800 0000 8000 0000 9000 0000 0100*1000 0300 0000 0090 0000 A00F 0000 A00F 0000 0000 0000 0000 0000*00F8 0000 E007 0000 1F00 0000 0000 0000*02F1 84F1 04F1 84F1 84F1 06F2 84F1 06F2 04F2 86F2 06F2 86F2 86F2 ...... BMP文件可分为四个部分:位图文件头、位图信息头、彩色板、图像数据阵列,在上图中已用*分隔。 一、图像文件头 1)1:图像文件头。424Dh=’BM’,表示是Windows支持的BMP 格式。
2)2-3:整个文件大小。4690 0000,为00009046h=36934。 3)4-5:保留,必须设置为0。 4)6-7:从文件开始到位图数据之间的偏移量。4600 0000,为00000046h=70,上面的文件头就是35字=70字节。 5)8-9:位图图信息头长度。 6)10-11:位图宽度,以像素为单位。8000 0000,为00000080h=128。 7)12-13:位图高度,以像素为单位。9000 0000,为00000090h=144。 8)14:位图的位面数,该值总是1。0100,为0001h=1。 二、位图信息头 9)15:每个像素的位数。有1(单色),4(16色),8(256色),16(64K色,高彩色),24(16M色,真彩色),32(4096M色,增强
Mapgis明码文件格式详解 点文件结构 逻辑结构: 文件头点数 1号点 2号点…… 具体为: A、文件头,8个字节 WMAP9022 (老的文件为WMAP6022或WMAP7022和WMAP8022) B、点数 n C、1号点 x1 y1 ID type1 {点类型,类型不同,点信息也不同。点类型取值如下: 0 字符串 1 子图 2 圆 3 弧 4 图象 5 文本 } 点信息{点信息和点类型相对应} 当type=0时,点信息为: "字符串" 字符高度字符宽度字符间隔字符串角度中文字体西文字体字形水平(0)或垂直排列(1) 颜色图层透明输出 当type=1时,点信息为: 子图号子图高子图宽子图角度辅色颜色线宽图层透明输出 当type=2时,点信息为: 半径轮廓颜色线宽填充(1)或不填充(0)标志颜色图层透明输出 当type=3时,点信息为: 半径起始角度终止角度线宽颜色图层透明输出 当type=4时,点信息为: "图象文件名" 宽度高度角度颜色图层透明输出 当type=5时,点信息为: "文本字串" 字高字宽字间距角度中文字体西文字体字形行间距版面长版面宽水平(0)或垂直排列(1) 颜色图层透明输出 2号点 …… n号点 **************************************************************
区文件结构 区逻辑结构为: 文件头弧段数 1号弧段 2号弧段……最后弧段节点数 1号结点 2号结点……最后结点区数 1号区 2号区 ……最后区 具体为: A、文件头,8个字节 WMAP9023 (老的文件为WMAP6023或WMAP7023和WMAP8023) B、弧段数 an C、1号弧段 线型号辅助线型号线色线宽 X系数 Y系数辅助色图层透明输出 前节点号后节点号 {若没有指向任何节点,则为0} 左区号右区号 {若没有区号,则为0} 线点数m1 x1 y1 x2 y2 … xm1 ym1 ……… ID 线长度 an号弧段 线型号辅助线型号线色线宽 X系数 Y系数辅助色图层透明输出 前节点号后节点号 {若没有指向任何节点,则为0} 左区号右区号 {若没有区号,则为0} 线点数m an x1 y1 x2 y2 … xm an ym an ID 线长度 D、节点数 nn E、1号节点 x1 y1 节点弧段数k 弧段号1 弧段号2…弧段号k ……… nn号节点 xnn ynn 节点弧段数knn
公文常见错误分析及对策 公文写作 公文常见错误分析及对策 公文是公务文书的简称,是处理公务、管理事务的一种书面文字工具。其重要特点就是行文的规范化、制度化和标准化。对于公文格式,国家技术监督局制定了《国家行政机关公文格式》(GB/T9704—1999,以下简称《格式》),国务院办公厅制定了《国家行政机关公文处理办法》(2001年1月1日起施行,以下简称《办法》),中央办公厅制定了《中国共产党各级领导机关文件处理条例(试行)》(以下简称《条例》)。但是不少单位和部门制发文件,并没有严格按照规定、要求去做,而是各行其是,制发文件存在很大的随意性,造成公文格式的不规范,严重影响了公文的严肃性、公正性。更在一定程度上影响了公文的质量和效能,影响了政 府的行政效率,因此必须引起高度重视。 一、存在的问题 (一)文种使用乱。一是生造文种。把没列为文种的公文种类作为文种使用。《办法》所确定的公文文种共有13类14种,即:命名、令,决定,公告,通告,通知,通报,议案,报告,请示,批复,意见,函,会议纪要。除此之外,均不可直接行文,但可作为"印发"、"颁发"式"通知"的"附件"行文。例如,《关于××市区退休人员一次性缴纳医疗费分期缴费的具体操作规定》、《关于使用社会保障卡有关问题的说明》等,这里的"操作规定"、"说明"均不应作为文种使用,可以改成《××关于印发市区退休人员一次性缴纳医疗费分期缴费的具体操作规定的通知》、《××关于印发使用社会保障卡有关问题的说明的通知》,不能作为文种使用的还有"条例"、"规定"、"办法"、"总结"、"计划"等,有的甚至把"安排"、"要点"、"细则"这些既不是公文文种又不是应用文体种类的东西常常作为公文文种直接行文,都是错误的。
多媒体常见五种图像格式详解 【摘要】:自此互联网以及PC的飞速发展,我们的日常生活已经高度的信息化了,多媒体应用技术也不断地深入到我们的生活中。图像、视频这些最直观的信息无时无刻的充斥着我们的眼球。这时我们需要在繁多的图像种类中辨别以及选择我们所要用到的图像种类来准确完整地传达信息。本文通过对多媒体常见的五种图像格式的详细介绍从而可以深刻的了解图像的格式特点及其应用。 【关键词】:多媒体互联网常见图像格式 一.引言 现在的互联网和多媒体技术的高速发展,多媒体的图形图像以其蕴含的信息量优美直观地显现于人们的视网膜中,给人们以绚丽丰富的视觉效果。但是多媒体图像又因其种类繁多而不能被人们所一一了解,甚至是最常见的图像格式也只是对其格式名略有耳闻。那么,本文将对多媒体常见的图像格式做一番简述,介绍它们的特性和不同点以及其实用性。 二.五种图像格式详解 1、BMP图像 BMP图像,即通常所说的位图(Bitmap),是最早应用于Windows操作系统,也是Windows操作系统中的标准图像文件格式,在Windows环境中运行的图形图像软件都支持BMP图像格式。因而这种格式的图像是最常见最简单的,像我们常用的桌面壁纸一般都是BMP格式图像。 BMP图像文件的文件结构一般认为包括了三部分:表头、调色板和图像像素数据,再细分的话,表头部分有分文件头和位图信息头。表头长度为54个字节,内容包括了BMP文件的类型、文件的大小、位图文件的保留字、位图数据距文件头的偏移量以及位图的尺寸等信息。调色板中有若干个表项相对应地定义一种颜色,从而说明位图中的颜色。只有全彩色BMP图像文件内没有调色板数据,其余不超过256种颜色的图像文件都必须设定调色板信息(电视节目制作中的图形图像格式)。图像像素数据每一个点代表一个像素值,它有着比较独特的记录方式:位图中的像素值是以在扫描行内从左到右、扫描行之间从下到上这样的顺序记录的。 BMP图像文件有下列3个特点:
(上行文格式) 中共×××委办公室(请示) (居右空1字,联署单位签发人姓名按 先上下后左右标注,用4号仿宋体字) (发文机关标识下空2行,居左空1字,用4号仿宋体字)×××××× ××报…20××?×号签发人:××××××————————————————★———————————————— 中共×××委办公室 关于××××××的请示(红色反线下空2行,居中 排印,用2号小标宋体字)××××(主送机关在标题下空1行,左侧顶格标注,用3号仿宋体字): ××××××××××××××××××××××××××××××××××××××××××××××××××××××××××……(正文在主送机关下1行,每自然段左空2字,回行顶格,用3号仿宋体字)。 ×××××××××××××××××××××××××
×××××××××××××××××××××××××××××××××……。 ××××××××××××××××××××××××××××××××××××××××××××××××××××××××××……。 当否,请批复 (发文机关署名在正文末行下空2行,用3号仿宋体字) ××××××××× 20××年×月×日 (成文日期用阿拉伯数字书写全称,位于发文机关署名右下方低 2个字,且“日”字右空2个字,用3号仿宋体字。凡标明主 送机关的公文需加盖印章) (词目用3号小标宋体字,词目之间空1字) 主题词(居左顶格,用3号黑体字):×××××××××请示 ××××××办公室20××年×月×日印 (共印××份) (印制版记位于公文末页,印发机关名称和印发日期左右各空半个4号字,上行文印发日期后面标“印”字,印制份数在底线下右空两个4号字,印制份数位于末行,均使用4号仿宋体字) —2—
JPEG图像格式详解 JPEG压缩简介 ------------- 1.色彩模型 JPEG的图片使用的是YCrCb颜色模型,而不是计算机上最常用的RGB.关于色彩模型,这里不多阐述.只是说明,YCrCb模型更适合图形压缩.因为人眼对图片上的亮度Y的变化远比色度C的变化敏感.我们完全可以每个点保存一个8bit的亮度值,每2x2个点保存一个Cr Cb值,而图象在肉眼中的感觉不会起太大的变化.所以,原来用RGB模型,4个点需要4x3=12字节.而现在仅需要4+2=6字节;平均每个点占12bit.当然JPEG格式里允许每个点的C值都记录下来;不过MPEG里都是按12bit一个点来存放的,我们简写为YUV12. [R G B]->[Y Cb Cr]转换 ------------------------- (R,G,B都是8bit unsigned) |Y||0.2990.5870.114||R||0| |Cb|=|-0.1687-0.33130.5|*|G|+|128| |Cr||0.5-0.4187-0.0813||B||128| Y=0.299*R+0.587*G+0.114*B(亮度) Cb=-0.1687*R-0.3313*G+0.5*B+128 Cr=0.5*R-0.4187*G-0.0813*B+128 [Y,Cb,Cr]->[R,G,B]转换 ------------------------- R=Y+ 1.402*(Cr-128) G=Y-0.34414*(Cb-128)-0.71414*(Cr-128) B=Y+ 1.772*(Cb-128) 一般,C值(包括Cb Cr)应该是一个有符号的数字,但这里被处理过了,方法是加上了128.JPEG里的数据都是无符号8bit的. 2.DCT(离散余弦变换) JPEG里,要对数据压缩,先要做一次DCT变换.DCT变换的原理,涉及到数学知识,这里我们不必深究.反正和傅立叶变换(学过高数的都知道)是差不多了.经过
第八章MAPGIS数据输出 教学目的与要求 通过本章的学习,要求大家了解MAPGIS输出系统与文件转换系统,熟悉MAPGIS的输出方式和输出流程,掌握MAPGIS的输出方法;熟悉MAPGIS数据输入与输出接口,掌握AUTOCAD、ARCINFO、MAPGIS明码数据的转换方法。 教学重点 MAPGIS数据输出方法 MAPGIS文件转换方法 教学难点 MAPGIS文件转换方法 内容提要 8.1 MAPGIS图形输出 8.2 MAPGIS文件转换 8.1 MAPGIS图形输出 8.1.1 拼版设计 用创建工程或打开工程菜单创建或打开文件后,用编辑工程文件进行编辑。 插入项目 插入点、线、面文件 添加项目 添加点、线、面文件 删除项目 删除点、线、面文件 修改项目 修改点、线、面文件 设编辑项 输出编辑 对话框左边是页面信息,右可以置版面,中间可以选择输出方式,输出范围是第一限范围,如果图不在第一限范围,可通过位移参数移动到第一限,图的左下角坐标不能离原点太远,避免纸张浪费。
8.1.2 输出方式 WINDOWS输出 WINDOWS输出是利用WINDOWS的GDI,在各种打印,绘图仪上进行输出。打开一个*.MPJ工程后,可直接选择打印输出,它可以动打印备进行图形输出。 POSTSCRIPT输出 通用PS输出 不分色输出指黄、品、青、黑四种颜色的版面均描述在一个PS文件中,输出只产生一个PS文件。分色输出指每种颜色的版面均输出产生一个PS文件 AI EPS输出 AI EPS输出能输出符合Adobe Illustrator格式的EPS文件 方正PS文件 假如输出分色胶片的输出中心用的是北大方正的RIP,那么就选用方正PS格式输出能,输出中心的方正系统必须是方正93以上的彩色系统。 光栅输出 光栅输出是先对地图进行分色光栅化,形成分色光栅化后的栅格文件,用打印光栅文件能可以在HP系列和NOVJET系列的喷墨绘图仪上输出光栅文件。 8.1.3 输出流程
JPEG图像格式详解 JPEG 压缩简介 ------------- 1. 色彩模型 JPEG 的图片使用的是 YCrCb 颜色模型, 而不是计算机上最常用的 RGB. 关于色彩模型, 这里不多阐述. 只是说明, YCrCb 模型更适合图形压缩. 因为人眼对图片上的亮度 Y 的变化远比色度 C 的变化敏感. 我们完全可以每个点保存一个 8bit 的亮度值, 每 2x2 个点保存一个 Cr Cb 值, 而图象在肉眼中的感觉不会起太大的变化. 所以, 原来用 RGB 模型, 4 个点需要 4x3=12 字节. 而现在仅需要 4+2=6 字节; 平均每个点占 12bit. 当然 JPEG 格式里允许每个点的 C 值都记录下来; 不过 MPEG 里都是按 12bit 一个点来存放的, 我们简写为 YUV12. [R G B] -> [Y Cb Cr] 转换 ------------------------- (R,G,B 都是 8bit unsigned) | Y | | 0.299 0.587 0.114 | | R | | 0 | | Cb | = |- 0.1687 - 0.3313 0.5 | * | G | + |128| | Cr | | 0.5 - 0.4187 - 0.0813| | B | |128| Y = 0.299*R + 0.587*G + 0.114*B (亮度) Cb = - 0.1687*R - 0.3313*G + 0.5 *B + 128 Cr = 0.5 *R - 0.4187*G - 0.0813*B + 128 [Y,Cb,Cr] -> [R,G,B] 转换 ------------------------- R = Y + 1.402 *(Cr-128) G = Y - 0.34414*(Cb-128) - 0.71414*(Cr-128) B = Y + 1.772 *(Cb-128) 一般, C 值 (包括 Cb Cr) 应该是一个有符号的数字, 但这里被处理过了, 方法是加上了 128. JPEG 里的数据都是无符号 8bit 的. 2. DCT (离散余弦变换) JPEG 里, 要对数据压缩, 先要做一次 DCT 变换. DCT 变换的原理, 涉及到数学知识, 这里我们不必深究. 反正和傅立叶变换(学过高数的都知道) 是差不多了. 经过这个变换, 就把图片里点和点间的规律呈现出来了, 更方便压缩.JPEG 里是对每 8x8
第一讲 MAPGIS简介 一、几个术语 图层:按照一定的需要或标准把某些相关物体组合在一起。可以把图层理解为一张透明薄膜,每一层的图元在同一薄膜上,如水系力图层、铁路图层、地质界限图层、断层图层等。图层的分层有利于地图图元的管理,提高成图速度。 栅格图:即扫描的图像。 矢量图:即进行了数字化的图像,图中的每一个点都有相对的X和Y座标。 图元:图面上表示空间信息特征的基本单位,分为点、线(孤段)、多边形等三种类型。 点元:点图元的简称,有时称点。指其位置只有一组X和Y座标来控制。它包括字符串(注释)、子图(专用符号)等。所有点保存在点文件中(*.wt)结点:指某线或孤段的端点或数条线或孤段的交点。 结点平差:使几条线或孤段成为共用一个结点的过程 线图元:地图中线状物的总称。如划线、省界、国界、地质界线、断层、水系、公路等。所有线图元都保存在线文件中(*.wl) 区图元(面图元):由线或孤段组的封闭区域,可以以颜色和花纹图案填充。如湖泊、地层、岩体分布区等。所有区图元都保存在区文件中(*.wp)。 工程:对一系列的点、线、面文件进行管理的描述性文件。 二、MAPGIS几种主要文件类型及后缀 .wp 区(面)文件 .pnt 控制点文件 .wl 线文件 .wt 点文件 .tif 栅格文件 .rbm 光栅求反后文件 .mpj 工程文件 .cln 图例板文件
点文件(.wt):包括文字注记、符号等。即在输入时,文字和符号都存在点文件中。在机助制图时,文字注记称为注释(如各种标注等),符号称为子图(矿点符号,泉符号等)。 线文件(.wl):是由境界线、河流、航空线、海岸线等线状地物组成的图元。 面文件(.wp):将各个行政区进行普染色后,就得到了区文件。在理论上,区是封闭的线组成的区域,因此区是基于线生成的。 工程(.mpj):对一系列的点、线、面文件进行管理的描述性文件。其主要记录了各个文件的信息,如存放地、可编辑性等。(如何建立工程,见以后) 三、MAPGIS总体结构 MAPGIS总体结构如下图,其中框线圈中的部分是要学习的部分。
国家行政机关公文格式 《国务院关于发布〈国家行政机关公文处理办法〉的通知》(国发〔2000〕23号) 一、纸型、纸质 复印纸A4型(国际标准210mm ×297mm ),厚度定量60—80g/m2。 二、封面 文件必须按《国家行政机关公文格式》执行。材料10页以内的一般不加封面,确需加封面的材料可以加上,如规划、纲领性文件、规章制度、材料汇编等。封面可使用必要的文字和徽标,但不使用花边和图案。加封面的材料同时应加封底。 三、标题 标题使用2号小标宋体或宋体加粗,顶行。副标题居中排列,使用3号宋、仿宋或楷体,但不与正文字体重复,破折号占2格。 四、正文 1.正文文字字体、字号 正文使用3或4号仿宋、宋体。 2.正文内标题字体、字号 1级标题文字使用3或4号黑体,2级标题文字使用3或4号楷体,3级标题文字使用3或4号宋或仿宋体,4级标题文字
使用3或4号宋或仿宋体。标题单独成行时,均无需标点。 不提倡正文内标题使用加粗或艺术字体,如行书、隶书、魏书、细圆体、综艺体、琥珀体、瘦金体等,以保持公文严肃、文面整洁。 3. 结构层次序数、标点 第1层为“一、”,第2层为“(一)”,第3层为“1.”,第4层为“(1)”。不使用不规范的序号,如:1)、A 、a 等。 4.段落 每段文字前空2格,第2行起均顶格。 5.表格 正文中表格一般作附件,置后。小于文面半幅的,可随文就位,与正文同宽。表内字体同正文,字号可略小。 6.数字 数字除成文日期、部分结构层次序数和在词、词组、惯用语、缩略语、具有修辞色彩语句中作为词素的数字必须使用汉字外,应当使用阿拉伯数字。 五、落款、盖印 在正文后空2行,单位名称按印章全称。盖印,可不写单位名称。成文日期中“○”用插入符号里的几何图形,或用区位码0180,不能用阿拉伯数“0”。最后一个字离右边沿4格。盖印跨年月日,上2/3,下1/3,左右居中,端正清晰。
YUV格式详解 1.什么是RGB? RGB是红绿蓝三原色的意思,R=Red、G=Green、B=Blue。 2.什么是YUV/YCbCr/YPbPr? 亮度信号经常被称作Y,色度信号是由两个互相独立的信号组成。视颜色系统和格式不同,两种色度信号经常被称作U和V或Pb和Pr或Cb和Cr。这些都是由不同的编码格式所产生的,但是实际上,他们的概念基本相同。在DVD中,色度信号被存储成Cb和Cr (C代表颜色,b代表蓝色,r代表红色)。 3.什么是4:4:4、4:2:2、4:2:0? 在最近十年中,视频工程师发现人眼对色度的敏感程度要低于对亮度的敏感程度。在生理学中,有一条规律,那就是人类视网膜上的视网膜杆细胞要多于视网膜锥细胞,说得通俗一些,视网膜杆细胞的作用就是识别亮度,而视网膜锥细胞的作用就是识别色度。所以,你的眼睛对于亮和暗的分辨要比对颜色的分辨精细一些。正是因为这个,在我们的视频存储中,没有必要存储全部颜色信号。既然眼睛看不见,那为什么要浪费存储空间(或者说是金钱)来存储它们呢? 像Beta或VHS之类的消费用录像带就得益于将录像带上的更多带宽留给黑—白信号(被称作“亮度”),将稍少的带宽留给彩色信号(被称作“色度”)。 在MPEG2(也就是DVD使用的压缩格式)当中,Y、Cb、Cr信号是分开储存的(这就是为什么分量视频传输需要三条电缆)。其中Y信号是黑白信号,是以全分辨率存储的。但是,由于人眼对于彩色信息的敏感度较低,色度信号并不是用全分辨率存储的。 色度信号分辨率最高的格式是4:4:4,也就是说,每4点Y采样,就有相对应的4点Cb和4点Cr。换句话说,在这种格式中,色度信号的分辨率和亮度信号的分辨率是相同的。这种格式主要应用在视频处理设备内部,避免画面质量在处理过程中降低。当图像被存储到Master Tape,比如D1或者D5,的时候,颜色信号通常被削减为4:2:2。
医学图像格式分析与转换 本文分为三个部分——医学图像及其组成、医学图像格式和医学图像的格式转换。本文希望通过对深度学习的相关知识的介绍,最终达到医学图像分析的目的。 医学图像及其组成 由Michele Larobina和Loredana Murino发表的论文,对本文即将展开的讨论来说是一个很好的信息参考。Michele Larobina和Loredana Murino二人是意大利“生物架构和生物成像协会”(IBB)的成员。IBB是意大利“国家研究委员会”的组成部分,同时也是意大利最大的公共研究机构。我们的另一个参考信息资源是一篇题为《Working with the DICOM and NIfTI data standards in R》的论文。 ?什么是医学图像? 医学图像是反映解剖区域内部结构或内部功能的图像,它是由一组图像元素——像素(2D)或立体像素(3D)——组成的。医学图像是由采样或重建产生的离散性图像表征,它能将数值映射到不同的空间位置上。像素的数量是用来描述某一成像设备下的医学成像的,同时也是描述解剖及其功能细节的一种表达方式。像素所表达的具体数值是由成像设备、成像协议、影像重建以及后期加工所决定的。 ?医学图像的组成
医学图像组成医学图像有四个关键成分——像素深度、光度表示、元数据和像素数据。这些成分与图像大小和图像分辨率有关。 图像深度(又称比特深度或颜色深度)是用来编码每个像素信息的比特数。比如说,一个8比特的光栅可以有256个从0到255数值不等的图像深度。 “光度表示”解释了像素数据如何以正确的图像格式(单色或彩色图片)显示。为了说明像素数值中是否存在色彩信息,我们将引入“每像素采样数”的概念。单色图像只有一个“每像素采样”,而且图像中没有色彩信息。图像是依靠由黑到白的灰阶来显示的,灰阶的数目很明显取决于用来储存样本的比特数。在这里,灰阶数与像素深度是一致的。医疗放射图像,比如CT 图像和磁共振(MR)图像,是一个灰阶的“光度表示”。而核医学图像,比如正电子发射断层图像(PET)和单光子发射断层图像(SPECT),通常都是以彩色映射或调色板来显示的。 “元数据”是用于描述图形象的信息。它可能看起来会比较奇怪,但是在任何一个文件格式中,除了像素数据之外,图像还有一些其他的相关信息。这样的图像信息被称为“元数据”,它通常以“数据头”的格式被储存在文件的开头,涵盖了图像矩阵维度、空间分辨率、像素深度和光度表示等信息。
公文排版详解 ——以Microsoft Office Word 2007为例 一、设置页面(“页面布局”—“页面设置”) (一)“页边距” 1.页边距:上3厘米、下2.5厘米、左2.6厘米、右2.5厘米。 2.纸张方向:纵向。 (二)“纸张” 纸张大小:A4。 确保“每面排22行,每行排28个字,并撑满版心”。 二、设置标题 (一)“字体” 1.主标题:先设置字体为华文小标宋简体(或华文中宋、宋体),再设置字体为Times New Roman;字形,加粗;字号,二号。 2.副标题:字体,与主标题一致;字形,不加粗;字号,三号。 (二)“段落” 1.对齐方式:居中。 2.左侧右侧缩进均为0字符。 3.特殊格式:无。 4.段前段后间距均为0行。
5.行距:固定值,28磅。 (三)内容要求 1.标题可分一行或多行居中排布,回行时应排列对称、长短适宜、间距恰当;多行标题排列时应当采用梯形或菱形布局,不应采用上下长短一样的长方形或上下长中间短的沙漏形。 2.正式公文标题应要素完整,一般格式为“发文机关+关于××(事由)的+文种”。 3.标题回行时应词意完整,不能将词组拆开;发文机关名称应在第一行居中排布;最后一行不能将“的”与文种单独排列成行。 4.标题中除法规、规章名称可加书名号外,一般不用标点符号。 (四)标题与正文间隔 空一行,字号为五号,行距为最小值12磅。 三、设置正文 (一)“字体” 1.一级标题:字体,黑体;字形,不加粗;字号,三号。 2.二级标题:字体,楷体_GB2312(或楷体);字形,不加粗;字号,三号。 3.三级标题、四级标题和五级标题:字体,仿宋_GB2312(或仿宋);字形,加粗;字号,三号。 4.其余正文(包括附件、落款、附注):字体,仿宋_GB2312(或仿宋);字形,不加粗;字号,三号。
BMP图像格式分析 BMP图像文件格式是微软公司为其Windows环境设置的标准图像格式,而且 Windows系统软件中还同时内含了一系列支持BMP图像处理的API函数,随着Windows 在世界范围内的不断普及,BMP文件格式无疑也已经成为PC机上的流行图像文件格式。它的主要特点可以概括为:文件结构与PCX文件格式类似,每个文件只能存放一幅图像;图像数据是否采用压缩方式存放,取决于文件的大小与格式,即压缩处理成为图像文件的一个选项,用户可以根据需要进行选择。其中,非压缩格式是BMP图像文件所采用的一种通用格式。但是,如果用户确定将BMP文件格式压缩处理,则Windows设计了两种压缩方式:如果图像为16色模式,则采用RLE4压缩方式,若图像为256色模式,则采用RLE8压缩方式。同时,BMP 图像文件格式可以存储单色、16色、256色以及真彩色四种图像数据,,其数据的排列顺序与一般文件不同,它以图像的左下角为起点存储图像,而不是以图像的左上角为起点;而且BMP图像文件格式中还存在另外一个与众不同的特点,即其调色板数据所采用的数据结构中,红、绿、蓝三种基色数据的排列顺序也恰好与其它图像文件格式相反。总之,BMP图像文件格式拥有许多适合于Windows环境的新特色,而且随着Windows版本的不断更新,微软公司也在不断改进其BMP 图像文件格式,例如:当前BMP图像文件版本中允许采用32位颜色表,而且针对32位Windows 的产生,相应的API 函数也在不断地报陈出新,这些无疑都同时促成了BMP文件格式的不断风靡。但由于BMP文件格式只适合于Windows上的应用软件,而对于DOS环境中的各种应用软件则无法提供相应的支持手段,因此这无疑是阻碍BMP文件格式的流通程度超过PCX文件格式的一个重要因素。 Windows中定义了两种位图文件类型,即一般位图文件格式与设备无关位图文件格式。其中,由于设备无关位图(DIB)文件格式具有更强的灵活性与完整的图像数据、压缩方式等定义。BMP图像文件的结构可以分为如下三个部分:文件头、调色板数据以及图像数据。其中文件头的长度为固定值54个字节;调色板数据对所有不超过256色的图像模式都需要进行设置,即使是单色图像模式也不例外,但是对于真彩色图像模式,其对应的BMP文件结构中却不存在相应调色板数据的设置信息;图像数据既可以采用一定的压缩算法进行处理,也可以不必对图像数据进行压缩处理,这不仅与图像文件的大小相关,而且也与对应的图像处理软件是否支持经过压缩处理的BMP图像文件相关。以下将分别介绍BMP图像文件结构中的这三个重要组成部分。特别值得注意的是:BMP 图像文件结构设计得相当简单,这无疑有利于图像文件的处理速度,但是同时也使得 BMP图像文件格式具有一定的局限性,即一个BMP图像文件只能存储一幅图像。 BMP图像文件的文件头定义 Windows中将BMP图像文件的文件头分成两个数据结构,其中一个数据结构中包含BMP文件的类型、大小和打印格式等信息,称为BITMAPFILEHEADERl另外一个数据结构中则包含BMP文件的尺寸定义等信息,称为BITMAPINFOHEADERl 如果图像文件还需要调色板数据,则将其存放在文件头信息之后。 BITMAPFIlEHEADER数据结构在Windows.h中的定义为: typedef struCttagBITMAPFIlEHEADER { WORD bftype; DWORD bfsiZe: WORD bfReservedl; WORD bgReserved2: DWORD bfoffBits: }BITMAPFILEHEADER; 其中,bfrype在图像文件存储空间中的数据地址为0,数据类型为unsignedchar,内容为固定值“BM”,用于标志文件格式,表示该图像文件为BMP文件。 bfsize的数据地址为2,类型为unsignedlong,它以字节为单位,定义位图文件的大小。 bfReservedl与bfReserved2的数据地址分别为6和8,数据类型则都为unsignedint,二者都是BMP文件的保留字,没有任何意义,其值必须为0. bfoffBits的数据地址为10,数据类型为unsignedlong,它以字节为单位,指示图像数据在文件内的起始地址,即图像数
点文件格式说明: 逻辑结构: 文件头点数1号点2号点…… 具体为: A、文件头,8个字节 WMAP9022 (老的文件为WMAP6022或WMAP7022和WMAP8022) B、点数n C、1号点 x1 y1 ID type1 {0字符串/1子图/2 圆/3弧/4 图象/5 文本} 点信息{点信息和点类型相对应} 当type=0时,点信息为: "字符串" 字符高度字符宽度字符间隔字符串角度中文字体 西文字体字形水平(0)或垂直排列(1) 颜色图层透明输出 当type=1时,点信息为: 子图号子图高子图宽子图角度辅色颜色线宽图层透明输出 当type=2时,点信息为: 半径轮廓颜色线宽填充(1)或不填充(0)标志颜色图层透明输出 当type=3时,点信息为: 半径起始角度终止角度线宽颜色图层透明输出 当type=4时,点信息为: "图象文件名" 宽度高度角度颜色图层透明输出 当type=5时,点信息为: "文本字串" 字高字宽字间距角度中文字体西文字体字形 行间距版面长版面宽水平(0)或垂直排列(1) 颜色图层透明输出 2号点 …… n号点 举例如下: WMAP9022 43 1.733216,1.328583,1,1,247, 2.000000,2.000000,0.000000,0,6,0.050000,0,0 15.597249,1.515934,2,1,247,2.000000,2.000000,0.000000,0,6,0.050000,0,0 30.210690,1.515934,3,1,247,2.000000,2.000000,0.000000,0,6,0.050000,0,0 …… 3.499549,1 4.453784,38,0,"木湖瓦窑",6.000000,6.000000,0.000000,0.000000,3,0,0,0,5,0,0 说明: (1)文件头为WMAP9022 (2)一号点信息为: 坐标1.733216,1.328583 ID:1 类型:1(子图)
BMP图像格式详解 一.简介 BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式。Windows系统内部各图像绘制操作都是以BMP为基础的。Windows 3.0以前的BMP图文件格式与显示设备有关,因此把这种BMP图象文件格式称为设备相关位图DDB(device-dependent bitmap)文件格式。Windows 3.0以后的BMP图象文件与显示设备无关,因此把这种BMP图象文件格式称为设备无关位图DIB(device-independent bitmap)格式(注:Windows 3.0以后,在系统中仍然存在DDB位图,象BitBlt()这种函数就是基于DDB位图的,只不过如果你想将图像以BMP格式保存到磁盘文件中时,微软极力推荐你以DIB格式保存),目的是为了让Windows能够在任何类型的显示设备上显示所存储的图象。BMP位图文件默认的文件扩展名是BMP或者bmp(有时它也会以.DIB或.RLE作扩展名)。 二.BMP格式结构 BMP文件的数据按照从文件头开始的先后顺序分为四个部分: ◆位图文件头(bmp file header):提供文件的格式、大小等信息 ◆位图信息头(bitmap information):提供图像数据的尺寸、位平面数、压缩方式、颜色索 引等信息 ◆调色板(color palette):可选,如使用索引来表示图像,调色板就是索引与其对应的颜色 的映射表 ◆位图数据(bitmap data):图像数据区 BMP图片文件数据表如下:
三.BMP文件头 BMP文件头结构体定义如下: typedef struct tagBITMAPFILEHEADER { UINT16 bfType; //2Bytes,必须为"BM",即0x424D 才是Windows位 图文件 DWORD bfSize; //4Bytes,整个BMP文件的大小 UINT16 bfReserved1; //2Bytes,保留,为0 UINT16 bfReserved2; //2Bytes,保留,为0 DWORD bfOffBits; //4Bytes,文件起始位置到图像像素数据的字节偏移量} BITMAPFILEHEADER; BMP文件头数据表如下:
《GIS软件及其应用》课程考试大纲 MAPGIS部分 一、考试范围与考核要求 1、考试范围 MAPGIS基本概念,软件的特点、结构、用途及功能应用,主要的文件类型,GIS与通用数据库的区别;图形编辑系统的基本功能,点编辑、线编辑、区编辑的操作;拓扑处理工作流程、实用工具的功能与操作、对数据的要求;误差校正子系统功能、使用步骤、文件和显示操作、对图形及其参数进行校正;MAPGIS 系统和其它GIS系统间数据转换操作;标准图框和非标准图框的生成方法与操作、投影变换的类型;图形裁剪方式和操作;输出系统概述、输出拼版设计、输出系统的基本操作;属性库图形数据与属性数据挂接,属性数据导入和导出,地图库文件批量入库,地图无缝拼接;矢量数据空间分析的方法与步骤;DTM和DEM概念,相关模型的功能及其构建方法;网络分析种类,常用的路径分析、资源分配方法,电子沙盘概念及用途。 2、考核要求: (1)识记:基本概念、定义; (2)理解:基本理论与基本方法; (3)综合应用:要求掌握地理信息系统的基础理论与研究方法,并熟练运用MAPGIS软件分析问题和解决问题。 二、考试形式与试卷结构 1、考试形式:闭卷,笔试+机试,考试时间为120分钟,试卷满分为100分。 2、试卷结构: (l)内容结构:基础知识:50分;综合应用:50分 (2)题型结构:名词解释(10分)、单选题(10分)、多(不定)项选择题(10分)、判断题(10分)、简答题(20分)、应用操作题(40分)。 三、评价目标与考试内容 第一讲 MAPGIS概述 (一)评价目标 l、识记基本概念,了解软件的特点、结构、用途及功能应用; 2、熟悉MAPGIS主要的文件类型; 3、理解GIS与通用数据库的区别。 (二)考试内容 1、MAPGIS基本概念,软件的特点、结构、用途及功能应用,主要的文件类
公文格式中常出现的不规范现象 (一)发文字号标注不规范。有的单位发文字号的年份用圆括号“()”括入,而不是用规范的六角括号“…?”。对于字号和字体,有的用小3号;有的用小标宋体字,有的用楷体,也有的用黑体。有些公文序号出现编虚位(即001),“××文…2008?001号”等不规范格式。 (二)文种使用不当。文种是指国家行政机关公文的种类。2001年1月1日起施行的《国家行政机关公文处理办法》明确公文种类有13类,即:命令(令)、决定、公告、通告、通知、通报、议案、报告、请示、批复、意见、函、会议纪要。即各单位产生的公文不应该出现这13类公文以外的文种,错用文种不仅使公文失去应有的严肃性,还严重影响行文的作用和效率。文种方面存在的问题主要有三个方面:一是生造文种。比如《关于解决办公用房的申请》。很显然,申请不是规范的文种,因此应改成“请示”。二是混用文种。如《××局关于购买办公设备经费的请示报告》,将“请示”和“报告”两种文种混用。三是错用文种。最常见的错误是该用“请示”的用了“报告”该用“报告”的用了“请示”,“请示”和“报告”是有严格区别的:“请示”是办件,是需要批复的;“报告”是阅件,不需要批复。如果错把“请示”用成了“报告”,会导致请示的事项得不到及时答复或得不到答复,从而影响了事情的办理。
(三)公文标题不规范。常见的问题:一是字体字号不规范,有用黑体的,有用宋体加黑的;有用二号字的,也有用小二号字的。《国家行政机关公文格式》中规定公文标题用2号小标宋体字。二是标题中滥用书名号等标点符号,规范的做法是除法规、规章名称加书名号外,标题中一般不加书名号。三是标题冗长繁琐。“事由”概括得不简要,转发(批转)性文件,标题照搬照抄,层层照转,一个词组套一个词组。四是回行时词意不完整,排列不对称,间距不恰当。 (四)引用文号不规范。比如先引文号后引标题,有的只引文号不引标题,有的只引标题不引文号。例如,“根据×××发…2008?1号文《关于×××的通知》”,其引用文号的方法不符合规定,正确的引用方式应为“根据市政府《关于×××的通知》(×××发…2008?1号)”。 (五)结构层次序数使用不规范。公文中的数字,除成文日期、部分结构层次序数和在词、词组、惯用语、缩略语、具有修辞色彩语句中作为词素的数字必须使用汉字外,应当使用阿拉伯数字。规范的结构层次序数要求,第一层为“一、”,第二层为“(一)”,第三层为“1.”,第四层为“(1)”。而在使用中常出现的问题:一是层次顺序颠倒,即下位序数与上位序数倒臵;二是层次跳跃,或在“(一)”“(1)”后加顿号,写成“(一)、”或“(1)、”等。 (六)成文日期标识不规范。常出现的问题:一是标注位臵距正文太远或太近,以至于印章距正文太远或盖压正文。成文日期与正文的距离要根据印章的大小而定,标准是印章
《数字图像处理》习题参考答案 第1 章概述 1.1 连续图像和数字图像如何相互转换?答:数字图像将图像看成是许多大小相同、 形状一致的像素组成。这样,数字图像可以 用二维矩阵表示。将自然界的图像通过光学系统成像并由电子器件或系统转化为模拟图像(连续图像)信号,再由模拟/数字转化器(ADC)得到原始的数字图像信号。图像的数字化包括离散和量化两个主要步骤。在空间将连续坐标过程称为离散化,而进一步将图像的幅度值(可能是灰度或色彩)整数化的过程称为量化。 1.2 采用数字图像处理有何优点?答:数字图像处理与光学等 模拟方式相比具有以下鲜明的特点: 1.具有数字信号处理技术共有的特点。(1)处理精度高。(2)重现性能好。(3)灵活性高。 2.数字图像处理后的图像是供人观察和评价的,也可能作为机器视觉的预处理结果。 3.数字图像处理技术适用面宽。 4.数字图像处理技术综合性强。 1.3 数字图像处理主要包括哪些研究内容?答:图像处理的任务是将客观世界的景象进 行获取并转化为数字图像、进行增强、变换、 编码、恢复、重建、编码和压缩、分割等处理,它将一幅图像转化为另一幅具有新的意义的图像。 1.4 讨论数字图像处理系统的组成。列举你熟悉的图像处理系统并分析它们的组成和功能。 答:如图1.8,数字图像处理系统是应用计算机或专用数字设备对图像信息进行处理的信息系统。图像处理系统包括图像处理硬件和图像处理软件。图像处理硬件主要由图像输入设备、图像运算处理设备(微计算机)、图像存储器、图像输出设备等组成。软件系统包括操作系统、控制软件及应用软件等。 图1.8 数字图像处理系统结构 图 1
1.5 常见的数字图像处理开发工具有哪些?各有什么特点? 答.目前图像处理系统开发的主流工具为 Visual C++(面向对象可视化集成工具) 和 MATLAB 的图像处理工具箱(Image Processing Tool box)。两种开发工具各有所长且有 相互间的软件接口。 Microsoft 公司的 VC++是一种具有高度综合性能的面向对象可视化集成工具,用它开 发出来的 Win 32 程序有着运行速度快、可移植能力强等优点。VC++所提供的 Microsoft 基础类库 MFC 对大部分与用户设计有关的 Win 32 应用程序接口 API 进行了封装,提高 了代码的可重用性,大大缩短了应用程序开发周期,降低了开发成本。由于图像格式多且 复杂,为了减轻程序员将主要精力放在特定问题的图像处理算法上,VC++ 6.0 提供的动 态链接库 ImageLoad.dll 支持BMP、JPG、TIF 等常用6 种格式的读写功能。 MATLAB 的图像处理工具箱MATLAB 是由MathWorks 公司推出的用于数值计算的有力工具,是一种第四代计算机语言,它具有相当强大的矩阵运算和操作功能,力求使人们摆脱繁 杂的程序代码。MATLAB 图像处理工具箱提供了丰富的图像处理函数,灵活运用这些函数可 以完成大部分图像处理工作,从而大大节省编写低层算法代码的时间,避免程序设计中的重 复劳动。MATLAB 图像处理工具箱涵盖了在工程实践中经常遇到的图像处理手段和算法,如 图形句柄、图像的表示、图像变换、二维滤波器、图像增强、四叉树分解域边缘检测、二值 图像处理、小波分析、分形几何、图形用户界面等。但是,MATLAB 也存在不足之处限制了 其在图像处理软件中实际应用。首先,强大的功能只能在安装有MA TLAB 系统的机器上使用 图像处理工具箱中的函数或自编的 m 文件来实现。其次,MATLAB 使用行解释方式执行代码,执行速度很慢。第三,MATLAB 擅长矩阵运算,但对于循环处理和图形界面的处理不及C++ 等语言。为此,通应用程序接口API 和编译器与其他高级语言(如C、 C++、Java 等)混 合编程将会发挥各种程序设计语言之长协同完成图像处理任务。API 支持 MA TLAB 与外部数 据与程序的交互。编译器产生独立于MATLAB 环境的程序,从而使其他语言的应用程序使用MATLAB。 1.6 常见的数字图像应用软件有哪些?各有什么特点?答:图像应用软件是可直接供 用户使用的商品化软件。用户从使用功能出发,只要了解 软件的操作方法就可以完成图像处理的任务。对大部分用户来说,商品化的图像应用软件无 需用户进行编程,操作方便,功能齐全,已经能满足一般需求,因而得到广泛应用。常用图 像处理应用软件有以下几种: 1.PHOTOSHOP:当今世界上一流的图像设计与制作工具,其优越性能令其产品望尘莫及。PHOTOSHOP 已成为出版界中图像处理的专业标准。高版本的 PHOTOSHOP 支持多达 20 多种图像格式和 TWAIN 接口,接受一般扫描仪、数码相机等图像输入设备采集的图像。PHOTOSHOP 支持多图层的工作方式,只是 PHOTOSHOP 的最大特色。使用图层功能可以很 方便地编辑和修改图像,使平面设计充满创意。利用 PHOTOSHOP 还可以方便地对图像进 行各种平面处理、绘制简单的几何图形、对文字进行艺术加工、进行图像格式和颜色模式 的转换、改变图像的尺寸和分辨率、制作网页图像等。 2.CorelDRAW:一种基于矢量绘图、功能强大的图形图像制作与设计软件。位图式图像是 由象素组成的,与其相对,矢量式图像以几何、色彩参数描述图像,其内容以线条和色块为主。可见,采用不同的技术手段可以满足用户的设计要求。位图式图像善于表现连续、丰富 色调的自然景物,数据量较大;而矢量式图像强于表现线条、色块的图案,数据量较小。 合理的利用两种不同类型的图像表现方式,往往会收到意想不到的艺术效果。CorelDraw是