数字信号处理——信号频谱 XΩ∑n−∞∞xne−jnΩXΩn−∞∑∞xne−jnΩ如式所示,DTFT 的计算需要非周期信号xnx[n]xn的所有采样值,当信号有无限多个递减的非零采样值时,就可在幅度降低到某个合适的门限后,截断信号,计算出近似的 DTFT。DTFT 的频谱XΩX(\Omega)XΩXΩ∣XΩ∣ejθΩXΩ=∣XΩ∣ejθΩ。
数字信号处理——频率响应 不同于信号系统学习的连续时间的傅里叶变换,这里使用的是离散时间傅里叶变换(DTFT)。对于信号而言,DTFT提供的信息称为信号的频谱。对于滤波器的情况,DTFT得到的信息称为滤波器的频率响应,包括两部分:幅度响应和相位响应。其中幅度响应给出了滤波器的形状,通过它可以深入了解滤波器的工作情况。
【C++ 继承】 派生类,基类也可以称为子类和父类。子类通过不同的继承方式,继承父类。子类在继承后,通过特定的规则,可以使用父类的成员。但是在说访问限定符的时候,说过 protected和private在作为访问限定符时,它们的效果是一样的。但是作为继承方式,则是不一样的当不同访问限定符修饰的成员在经过不同的继承方式后,子类成员会产生九种访问方式这时,保护成员和私有成员的区别就体现出来了无论私有成员如何继承,结果都是不可见。这里的不可见就是指继承的私有成员无论是在子类中还是在类外都不能被使用;
动态内存管理 这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。1)如果开辟成功,则返回一个指向开辟好空间的指针。2)如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。3)返回值的类型是 void* ,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己来决定。4)如果参数 size 为0,malloc的行为是标准是未定义的,取决于编译器。free函数用来释放动态开辟的内存。
小项目-通讯录的实现 首先通讯录中的每个人是一个复杂对象,他有姓名,性别,电话,年龄,地址等特性,所以通过到构造一个结构体类型来描述这一复杂对象。其次,要描述一个通讯录,要有每个学生的信息以及学生的数量,也是一个复杂对象,构造结构体来实现:注意:在这里想要使代码具有扩展性,所以在这里的个数在前面使用#define定义。int age;}PeoInfo;int sz;}Contact;
字符串和字符函数 在C语言里有string.h这个头文件,但是C语言里没有string这个类型。字符串通常放在常量字符串中或者字符数组中,字符串常量适用于那些对她不做修改的字符串函数。string.h这个头文件里声明的函数原型也全是针对char数组的种种操作。直到C++中才出现了string这个类。这篇文章就简单整理一下C语言中处理字符、字符串的库函数,以及一些函数的简单实现。
数据的存储 在C语言中已知的数据类型有整形,浮点型,构造类型,指针类型,空类型。为什么存在大小端之分呢?首先来说什么是大端小端?大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地址中。那么再来说说为什么要有大小端?为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8 bit。
一道比较有意思的题目 现有一个2行13列的棋盘,棋盘上的任意一个位置可以向他临近的8个位置移动(即上、下、左、右、左上、右上、左下、右下)。棋盘上的每一个位置的标号由一个大写的英文字母表示。现在给你一个移动的顺序,这个顺序用27个大写的英文字母表示,其中只有一个字母出现了两次。问你是否存在一个合法的设置棋盘标号的方案,使得从这个棋盘的某个位置出发,能够得到这个走法的顺序。