- 浏览: 124605 次
- 性别:
- 来自: 武汉
-
最新评论
文章列表
题目:编写一函数expand(s1,s2),用以将字符串s1中的缩记符号在字符串s2中扩展为等价的完整字符,例如将
a-d扩展为abcd。该函数可以处理大小写字母和数字,并可以处理a-b-c、a-z0-9与-a-z等类似的情况。在main函数中测试该函数:从键
盘输入包含缩记符号的字符串,然后调用该函数进行扩展,输出扩展结果。
(教材 P63:Exercise 3-3)
【输入形式】
从
键盘输入包含扩展符的字符串
【输出形式】
输出扩展后的字符串
【输入样例】
a-c-u-B
【输出样例】
abcdefghijklmnopqrstu-B
【样
例说明】
扩展输入a ...
考虑固态环形薄膜的形状模型,沿外边界受压,外边界r=1: z(r,x)=J1(3.8316r)cos(x) 其中,J1(x)为第一类1阶贝塞尔函数,(r,x)为薄膜上任意一点的极坐标值。贝塞尔函数由下式确定。 besselj(n,x) 其中n为阶数,x为负数。薄膜中心处为坐标原点,薄膜的固有频率参数为3.8316。该模型外观可由下面的外形绘制函数画出: mesh(x,y,z) 其中(x,y)为表面 ...
- 2009-07-26 23:37
- 浏览 718
- 评论(0)
创建一个具有空洞的文件
- 博客分类:
- unix环境高级编程
#include "apue.h"
#include <fcntl.h>
char buf1[]= "abcdefghij";
char buf2[]= "ABCDEFGHIJ";
int main(void)
{
int fd;
if((fd = creat("file.hole",FILE_MODE)) <0)
err_sys("creat error");
/* offset now 10 */
if(write(fd,b ...
- 2009-07-20 12:52
- 浏览 1041
- 评论(0)
在模拟通信系统或传输介质中,“带宽”是指信号频率的通频范围,是信号通过系统
或介质时最高频率和最低频率间的差值,单位为Hz。而在数字通信系统中,“带宽”是指传输信道的容量,即在理论上信道中可传递信息的最大值,单位为
bit/s。数据信号是通过传输介质与通信设备构成的物理信道来发送和接收的。在给定通频带宽的物理信道上,到底可以可靠地传输多高数据速率的信息呢?信
道容量、信道通频带宽和信道内传输信号的信躁比有什么关系呢?早在1948年,贝尔实验室的香农博士在其信息论中提出了著名的香农公式,对这个信道容量问
题给出了答案。
在噪声与信号独立的高斯白噪声信道 ...
- 2009-07-12 13:30
- 浏览 3602
- 评论(0)
测试能否对标准输入设置偏移量
- 博客分类:
- unix环境高级编程
#include "apue.h"
int main(void)
{
if(lseek(STDIN_FILENO,0,SEEK_CUR) == -1)
printf("cannot seek\n");
else
printf("seek OK\n");
exit(0);
}
通常,文件的当前偏移量应当是一个非负整数,但是,某些设备也可能允许负的偏移量。但对于普通文件,则其偏移量必须是非负值。因为偏移量可能是负值,所以在比较lseek的返回值时应当谨慎,不要测试它是否小于0,而要测试它是否等于 ...
- 2009-07-12 13:07
- 浏览 1090
- 评论(0)
无论是从信息论还是从编码理论来看,要想尽量提高编码的性能,就必须要加大编码中具有约束关系的序列长度。但是直接提高分组码编码长度或卷积码约束长度都使得系统的负责性急剧上升。在这种情况下,Forney提出了级联码的概念,即以多个短码来构造长码的方法,这样既可以减少译码的复杂性,同时又可以得到等效长码的性能。级联码方面的大量研究最终结出了Turbo码这样一个硕果。C.Berrou等人在1993年首次提出了Turbo码的概念。Turbo码将相对简单的卷积码和随机交织器结合在一起,实现了随机编码的思想,同时Turbo码用软输出迭代译码来逼近最大似然译码,就能得到接近香农极限的纠错性能。C.Berr ...
- 2009-07-11 13:10
- 浏览 1235
- 评论(0)
确定文件描述符数
- 博客分类:
- unix环境高级编程
#include "apue.h"
#include <errno.h>
#include <limits.h>
#ifdef OPEN_MAX
static long openmax = OPEN_MAX;
#else
static long openmax = 0;
#endif
#define OPEN_MAX_GUESS 256
long open_max(void)
{
if(openmax == 0){
errno = 0;
if((openmax= sysconf(_SC_OPEN_MAX) ...
- 2009-07-11 12:22
- 浏览 795
- 评论(0)
信道编码在3G中的应用
- 博客分类:
- 移动通信概论
3G移动通信的3大主流技术同时采用了卷积码和Turbo码两种纠错编码。在高速率、对译码时要求不高的辅助数据链路中,使用Turbo码以利用其优异的纠错性能。考虑到Turbo码的译码复杂度大、译码时延大的原因,除了在语音和低速率、对译码时延要求比较严格的数据链路中使用卷积码,在其他逻辑通信信道如接入、控制、基本数据、辅助码信道中也都使用卷积码。
1.在3G的业务信道编码上
WCDMA使用了卷积码,码率1/2或1/3,约束长度K=9;高速用Turbo码。cdma2000使用了卷积码,码率1/2、1/3、1/4,约束长度K=9;高速用Turbo码。
TD ...
- 2009-07-10 13:06
- 浏览 1673
- 评论(0)
#include "apue.h"
#include <errno.h>
#include <limits.h>
#ifdef PATH_MAX
static int pathmax=PATH_MAX;
#else
static int pathmax=0;
#endif
#define SUSV3 200112L
static long posix_version=0;
#define PATH_MAX_GUESS 1024
char * path_alloc(int *sizep)
{
char *p ...
- 2009-07-10 12:54
- 浏览 713
- 评论(0)
在研究地面对电波的反射时,通常都是按照平面波处理的,即假定在反射点的入射角度等于反射角度,这样造成电波相位反相。在接收端的接收信号是直达波和多个反射波的合成。由于大气折射随时间变化,传播路径差也随 时间和地点而变化,在接收端收到的信号是由经过多次折射或反射,经过不同路径的信号组成的。这些多径信号若同相则相加,若反相则抵消,由此造成接收端信号的幅度变化,称为衰落。这种衰落是由多径引起的,所以称为多径衰落。
移动信道的多径环境引起的信号多径衰落,可从空间和时间两方面描述。
(1)从空间角度来看,移动台接收信号的幅度随着距离变动而变化,其中本地反射物 ...
- 2009-07-09 13:11
- 浏览 1254
- 评论(0)
#include "apue.h"
#include <errno.h>
#include <limits.h>
static void pr_sysconf(char *,int);
static void pr_pathconf(char *,char *,int);
int main(int argc,char *argv[])
{
if(argc!=2)
err_quit("usage: ./printall <dirname>");
#ifdef ARG_MAX
pri ...
- 2009-07-09 12:56
- 浏览 1192
- 评论(0)
无线电波通过多种方式从发射天线传播到接收天线,传播方式有以下几种。
(1)表面波是一种沿着地球表面传播的电波。地面的性质、地貌、地物等会影响电波的传播。地球表面是半导体,会使电波发生变化和引起电波的吸收。地球表面是球形,会使沿它传播的电波发生绕射。当波长与障碍物高度可以相比较的时候,电波才能有绕射功能。在实际情况中只有长波、中波以及短波的部分波段能绕过地球表面的大部分障碍,到达300km内的较远的地方。
(2)自由空间波或直达波是一种沿直线传播的无线电波。主要用于卫星和外空间通信,以及视距内的传播,如两个微波塔之间的传播方式。
(3)散射波是电波通过电离层或电离层下的对流层的不 ...
- 2009-07-08 13:15
- 浏览 702
- 评论(0)
打印用户ID和组ID
- 博客分类:
- unix环境高级编程
#include "apue.h"
int main(void)
{
printf(" uid= %d, gid = %d\n", getuid(), getgid());
exit(0);
}
调用getuid和getgid以返回用户ID和组ID。运行该程序,将产生
uid= 1000, gid = 1000
- 2009-07-08 13:00
- 浏览 679
- 评论(0)
#include "apue.h"
#include <errno.h>
int main(int argc,char *argv[])
{
fprintf(stderr,"EACCES: %s\n",strerror(EACCES));
errno=ENOENT;
perror(argv[0]);
exit(0);
}
编译:
gcc -o stderror stderror.c
运行:
./stderror
结果:
EACCES: Permission denie ...
- 2009-07-08 12:37
- 浏览 782
- 评论(0)
CDMA移动通信系统实际上也是直接序列扩频通信系统,其原理图如下所示:
在上图中,各系统单元组成的作用如下:
(1)信源和信宿
信源是原始信息的发出地,信宿是原始信息的到达地。
(2)信 ...
- 2009-07-08 12:33
- 浏览 1072
- 评论(0)