- 博客(13)
- 收藏
- 关注
原创 基于循环码的2ASK通信系统设计
1.参数设置与初始化首先,定义系统的基本参数,如抽样频率、码元速率、载波频率和信噪比等。这些参数将用于后续的信号处理过程。2. 信源信号生成生成一个随机模拟信号作为信源信号。信号在给定时间轴上生成,幅度范围在[-1, 1]之间。3. 信号量化将生成的模拟信号量化为离散值。定义量化级数,并将信号量化为0到量化级数-1之间的整数。4. 霍夫曼编码利用霍夫曼编码对量化后的信号进行编码:①计算每个符号出现的概率。②生成霍夫曼编码表。
2024-10-30 18:33:20 276
原创 【C语言】文件操作(2)
例如整数10000,以ASCII形式存储到外存的话,占5个字节(5个字符)。若以二进制形式存储的话,则占4个字节(一个整型占4个字节)。字符型数据在内存中是以ASCII形式存储的。而数值型数据在内存中可以以ASCII字符的形式存储,也可以以二进制的形式存储。如果要求在外存以ASCII码的形式存储,则要求在存储前进行转换。以ASCII字符的形式存储的文件就是文本文件。数据在内存中以二进制的形式存储,如果不加转换的直接输出到外存,就是二进制文件。让文件指针的位置回到文件的起始位置。(以下是在小端机器上的结果)
2023-05-24 23:08:02 59
原创 【C语言】动态内存管理(1)
这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。1.如果开辟成功,则返回指向开辟好的空间的指针。如果开辟失败,则返回空指针。所以malloc的返回值需要检查。2.该函数返回的是void*的指针,函数并不知道开辟了一块什么类型的空间,在使用时,要将返回的指针强制类型转化为自己需要的类型的指针。3.如果size是0,标准并未定义这个行为,取决于编译器。1.如果ptr指向的空间不是动态开辟的,那么ptr的行为是未定义的。2.如果ptr是空指针,那么free函数什么也不做。
2023-05-11 19:52:23 57
原创 【C语言】内存函数
1.函数从source的位置向后将num个字节的内容复制到destination的内存位置。2.这个函数遇到'\0'并不会停下来。3.如果source所指向的空间和destination所指向的空间有重叠时,复制的结果是未定义的。
2023-05-06 20:15:34 51
原创 【C语言】自定义类型(1)
使用大括号对其进行赋值。char c;struct A b;位段的声明和结构体是类似的,有两个不同:1.位段的成员必须是int或unsigned int或signed int或char。2.位段的成员名后边有一个冒号和数字。int b : 5;int c : 10;int d : 30;A就是一个位段类型。
2023-05-06 16:38:29 45
原创 【C语言】字符函数和字符串函数(2)
但是我们发现以上的写法非常繁琐,若str指向的字符串中含有许多串标记,为了将这些标记全部打印出来,我们的代码量可能会大大增加。4.strtok函数的第一个参数不为 NULL ,函数将找到str中第一个标记,strtok函数将保存它在字符串 中的位置。5.strtok函数的第一个参数为 NULL ,函数将在同一个字符串中被保存的位置开始,查找下一个标 记。2.如果源串的字符个数小于num,则将源串拷贝到目标空间后,在目标空间追加0,直到字符个数达到num。1.从源串拷贝num个字节的字符到目标空间。
2023-04-22 22:40:37 49
原创 【C语言】字符函数和字符串函数(1)
2.source指向的字符串追加到destination指向的字符串,追加到自己的'\0'停止并且会将自己的'\0'也追加上。(因为源串和目标串是同一串,因此源串中'\0'的位置会被覆盖,无法结束)1.source指向的字符串追加到destination指向的字符串的'\0'位置,并将这个'\0'覆盖。1.strlen函数返回的是'\0'之前的字符个数,不包含'\0'。3.str参数指向的字符串必须要以'\0'结束。2.会将源字符串中的'\0'拷贝到目标空间。1.源字符串必须以'\0'结束。
2023-04-20 20:25:55 94
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人